{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. 为什么Bagging能改进模型性能？"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Bagging是集成算法中的一种，是利用多个弱学习器共同协作，以达到更好的模型性能的一种算法。Bagging在普通模型的基础上，利用每个弱学习器学习随机抽取的不同数据，让每个弱学习器学习到数据的部分特征，然后将其组合起来，就能达到更高的准确率。Bagging使用Bootstrap对样本进行随机抽样，然后送到不同的弱学习器进行学习，而每个模型的复杂度都不会太高，所以每个模型都能学到一点样本的特征，当这样的模型很多时，组合起来就用更好的学习好样本的全部特征，从而提高模型的性能。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. 随机森林中随机体现在哪些方面？（10分）\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "随机森林是Bagging模型的一种实现，每个弱学习器都是一个决策树模型。随机森林在Bagging使用随机抽取样本的基础上，再使用随机抽取特征的方法，更大程度上降低模型的方差，这就是随机森林的随机性。在sklearn中，还提供了一种叫梯度随机森林的算法，他是在随机森林的基础上在进行树分裂的时候，随机选取分裂点，这样不仅能提高计算效率，还能进一步降低模型间的相关程度，降低模型的方差。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. 随机森林和GBDT的基学习器都是决策树。请问这两种模型中的决策树有什么不同。（10分）"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 这两种算法都是集成算法，但却有本质上的不同：\n",
    "- 随机森林是Bagging的实现，而GBDT是Boosting的实现\n",
    "- 随机森林可以并行训练弱分类器，而GBDT只能串行学习弱分类器，因为它的每一个模型都要在前面已建立的所有的模型基础上进行提升学习\n",
    "- 随机森林的每棵树采用cart树方式进行建树，每次使用整体数据的约63.2%的数据，而且每棵树间相互独立，而GBDT是使用梯度提升的方式进行建树，是建立在前面已训练模型的基础上进行。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4. 请简述LightGBM的训练速度问什么比XGBoost快。（30分）"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 首先，LightGBM和XGBoost都是GBM的一种快速实现方式。两者都使用了二阶泰勒展开的方式提升模型。但LightGBM在实现算法的时候，有以下几点优势：\n",
    "- 不用像XGBoost那样对数据进行预排序，这个排序时间复杂度为kDNlogN，而采用histogram的方式，使数据分割的复杂度降低，且占用内存低\n",
    "- LightGBM使用leaf-wise建树策略，避免了XGBoost可能分裂出很多效率很低的树。\n",
    "- LightGBM使用直方图做差，利用父节点和兄弟节点的差，可以提升一倍的计算速度\n",
    "- Goss LightGBM对样本根据梯度进行下采样，降低样本数量，可提高计算速度\n",
    "- EFB LightGBM通过互斥特征捆绑，降低特征维度，从而提高计算速度\n",
    "- LightGBM原生支持特征和数据的并行学习，这也能提高计算速度"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 5. 采用tfidf特征，采用LightGBM（gbdt）完成Otto商品分类，尽可能将超参数调到最优，并用该模型对测试数据进行测试，提交Kaggle网站，提交排名。（20分） "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 读取数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>feat_1</th>\n",
       "      <th>feat_2</th>\n",
       "      <th>feat_3</th>\n",
       "      <th>feat_4</th>\n",
       "      <th>feat_5</th>\n",
       "      <th>feat_6</th>\n",
       "      <th>feat_7</th>\n",
       "      <th>feat_8</th>\n",
       "      <th>feat_9</th>\n",
       "      <th>...</th>\n",
       "      <th>feat_85</th>\n",
       "      <th>feat_86</th>\n",
       "      <th>feat_87</th>\n",
       "      <th>feat_88</th>\n",
       "      <th>feat_89</th>\n",
       "      <th>feat_90</th>\n",
       "      <th>feat_91</th>\n",
       "      <th>feat_92</th>\n",
       "      <th>feat_93</th>\n",
       "      <th>target</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Class_1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Class_1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Class_1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Class_1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>Class_1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 95 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   id  feat_1  feat_2  feat_3  feat_4  feat_5  feat_6  feat_7  feat_8  feat_9  \\\n",
       "0   1       1       0       0       0       0       0       0       0       0   \n",
       "1   2       0       0       0       0       0       0       0       1       0   \n",
       "2   3       0       0       0       0       0       0       0       1       0   \n",
       "3   4       1       0       0       1       6       1       5       0       0   \n",
       "4   5       0       0       0       0       0       0       0       0       0   \n",
       "\n",
       "   ...  feat_85  feat_86  feat_87  feat_88  feat_89  feat_90  feat_91  \\\n",
       "0  ...        1        0        0        0        0        0        0   \n",
       "1  ...        0        0        0        0        0        0        0   \n",
       "2  ...        0        0        0        0        0        0        0   \n",
       "3  ...        0        1        2        0        0        0        0   \n",
       "4  ...        1        0        0        0        0        1        0   \n",
       "\n",
       "   feat_92  feat_93   target  \n",
       "0        0        0  Class_1  \n",
       "1        0        0  Class_1  \n",
       "2        0        0  Class_1  \n",
       "3        0        0  Class_1  \n",
       "4        0        0  Class_1  \n",
       "\n",
       "[5 rows x 95 columns]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv(\"Otto_train.csv\")\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a262cd390>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 查看标签的分布\n",
    "sns.countplot(df.target)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "标签分布不均匀，交叉验证时使用分层抽样"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 查看特征分布，由于特征较多，抽取其中5个特征\n",
    "for i in range(1,90,20):\n",
    "    sns.countplot(df.iloc[:,i])\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以从这些特征看出，这些都是稀疏的特征，有长尾性，可对特征进行log1p处理，并且可以使用tfidf处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "feat_39andfeat_45 --- 0.82\n",
      "feat_3andfeat_46 --- 0.78\n",
      "feat_15andfeat_72 --- 0.76\n",
      "feat_30andfeat_84 --- 0.72\n",
      "feat_9andfeat_64 --- 0.70\n",
      "feat_3andfeat_54 --- 0.69\n",
      "feat_29andfeat_77 --- 0.61\n",
      "feat_8andfeat_36 --- 0.61\n",
      "feat_11andfeat_27 --- 0.60\n",
      "feat_3andfeat_11 --- 0.60\n",
      "feat_3andfeat_4 --- 0.58\n",
      "feat_11andfeat_46 --- 0.58\n",
      "feat_61andfeat_80 --- 0.58\n",
      "feat_27andfeat_46 --- 0.57\n",
      "feat_46andfeat_54 --- 0.57\n",
      "feat_9andfeat_32 --- 0.57\n",
      "feat_7andfeat_78 --- 0.57\n",
      "feat_11andfeat_80 --- 0.56\n",
      "feat_14andfeat_25 --- 0.56\n",
      "feat_31andfeat_35 --- 0.56\n",
      "feat_52andfeat_74 --- 0.55\n",
      "feat_4andfeat_35 --- 0.55\n",
      "feat_3andfeat_28 --- 0.55\n",
      "feat_69andfeat_90 --- 0.55\n",
      "feat_11andfeat_61 --- 0.54\n",
      "feat_28andfeat_54 --- 0.54\n",
      "feat_4andfeat_54 --- 0.53\n",
      "feat_80andfeat_82 --- 0.52\n",
      "feat_2andfeat_90 --- 0.52\n",
      "feat_3andfeat_27 --- 0.51\n",
      "feat_46andfeat_61 --- 0.50\n",
      "feat_22andfeat_54 --- 0.50\n",
      "feat_27andfeat_61 --- 0.50\n"
     ]
    }
   ],
   "source": [
    "# 查看特征间的相关性\n",
    "feat_corr = df.corr().abs()\n",
    "# 提取特征名\n",
    "feat_name = df.columns\n",
    "# 查看相关系数较大的特征\n",
    "size = feat_corr.shape[0]\n",
    "threshold = 0.5\n",
    "largeCorr_list = []\n",
    "for i in range(0,size):\n",
    "    for j in range(i+1,size):\n",
    "        if feat_corr.iloc[i,j] > threshold:\n",
    "            largeCorr_list.append([feat_name[i]+'and'+feat_name[j],feat_corr.iloc[i,j]])\n",
    "sort_corr = sorted(largeCorr_list,key=lambda x :-x[1])\n",
    "for k,v in sort_corr:\n",
    "    print(k,\"---\",\"%.2f\" % (v))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看到大部分特征间的相关性都很高，可以在模型中加入正则项"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 分离特征和标签"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>feat_1</th>\n",
       "      <th>feat_2</th>\n",
       "      <th>feat_3</th>\n",
       "      <th>feat_4</th>\n",
       "      <th>feat_5</th>\n",
       "      <th>feat_6</th>\n",
       "      <th>feat_7</th>\n",
       "      <th>feat_8</th>\n",
       "      <th>feat_9</th>\n",
       "      <th>feat_10</th>\n",
       "      <th>...</th>\n",
       "      <th>feat_84</th>\n",
       "      <th>feat_85</th>\n",
       "      <th>feat_86</th>\n",
       "      <th>feat_87</th>\n",
       "      <th>feat_88</th>\n",
       "      <th>feat_89</th>\n",
       "      <th>feat_90</th>\n",
       "      <th>feat_91</th>\n",
       "      <th>feat_92</th>\n",
       "      <th>feat_93</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>22</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 93 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   feat_1  feat_2  feat_3  feat_4  feat_5  feat_6  feat_7  feat_8  feat_9  \\\n",
       "0       1       0       0       0       0       0       0       0       0   \n",
       "1       0       0       0       0       0       0       0       1       0   \n",
       "2       0       0       0       0       0       0       0       1       0   \n",
       "3       1       0       0       1       6       1       5       0       0   \n",
       "4       0       0       0       0       0       0       0       0       0   \n",
       "\n",
       "   feat_10  ...  feat_84  feat_85  feat_86  feat_87  feat_88  feat_89  \\\n",
       "0        0  ...        0        1        0        0        0        0   \n",
       "1        0  ...        0        0        0        0        0        0   \n",
       "2        0  ...        0        0        0        0        0        0   \n",
       "3        1  ...       22        0        1        2        0        0   \n",
       "4        0  ...        0        1        0        0        0        0   \n",
       "\n",
       "   feat_90  feat_91  feat_92  feat_93  \n",
       "0        0        0        0        0  \n",
       "1        0        0        0        0  \n",
       "2        0        0        0        0  \n",
       "3        0        0        0        0  \n",
       "4        1        0        0        0  \n",
       "\n",
       "[5 rows x 93 columns]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X = df.drop(['id','target'],axis=1)\n",
    "y = df['target']\n",
    "X.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 特征log变换"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>feat_1_log</th>\n",
       "      <th>feat_2_log</th>\n",
       "      <th>feat_3_log</th>\n",
       "      <th>feat_4_log</th>\n",
       "      <th>feat_5_log</th>\n",
       "      <th>feat_6_log</th>\n",
       "      <th>feat_7_log</th>\n",
       "      <th>feat_8_log</th>\n",
       "      <th>feat_9_log</th>\n",
       "      <th>feat_10_log</th>\n",
       "      <th>...</th>\n",
       "      <th>feat_84_log</th>\n",
       "      <th>feat_85_log</th>\n",
       "      <th>feat_86_log</th>\n",
       "      <th>feat_87_log</th>\n",
       "      <th>feat_88_log</th>\n",
       "      <th>feat_89_log</th>\n",
       "      <th>feat_90_log</th>\n",
       "      <th>feat_91_log</th>\n",
       "      <th>feat_92_log</th>\n",
       "      <th>feat_93_log</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.693147</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.693147</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.693147</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.693147</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.693147</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.693147</td>\n",
       "      <td>1.94591</td>\n",
       "      <td>0.693147</td>\n",
       "      <td>1.791759</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.693147</td>\n",
       "      <td>...</td>\n",
       "      <td>3.135494</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.693147</td>\n",
       "      <td>1.098612</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.693147</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.693147</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 93 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   feat_1_log  feat_2_log  feat_3_log  feat_4_log  feat_5_log  feat_6_log  \\\n",
       "0    0.693147         0.0         0.0    0.000000     0.00000    0.000000   \n",
       "1    0.000000         0.0         0.0    0.000000     0.00000    0.000000   \n",
       "2    0.000000         0.0         0.0    0.000000     0.00000    0.000000   \n",
       "3    0.693147         0.0         0.0    0.693147     1.94591    0.693147   \n",
       "4    0.000000         0.0         0.0    0.000000     0.00000    0.000000   \n",
       "\n",
       "   feat_7_log  feat_8_log  feat_9_log  feat_10_log  ...  feat_84_log  \\\n",
       "0    0.000000    0.000000         0.0     0.000000  ...     0.000000   \n",
       "1    0.000000    0.693147         0.0     0.000000  ...     0.000000   \n",
       "2    0.000000    0.693147         0.0     0.000000  ...     0.000000   \n",
       "3    1.791759    0.000000         0.0     0.693147  ...     3.135494   \n",
       "4    0.000000    0.000000         0.0     0.000000  ...     0.000000   \n",
       "\n",
       "   feat_85_log  feat_86_log  feat_87_log  feat_88_log  feat_89_log  \\\n",
       "0     0.693147     0.000000     0.000000          0.0          0.0   \n",
       "1     0.000000     0.000000     0.000000          0.0          0.0   \n",
       "2     0.000000     0.000000     0.000000          0.0          0.0   \n",
       "3     0.000000     0.693147     1.098612          0.0          0.0   \n",
       "4     0.693147     0.000000     0.000000          0.0          0.0   \n",
       "\n",
       "   feat_90_log  feat_91_log  feat_92_log  feat_93_log  \n",
       "0     0.000000          0.0          0.0          0.0  \n",
       "1     0.000000          0.0          0.0          0.0  \n",
       "2     0.000000          0.0          0.0          0.0  \n",
       "3     0.000000          0.0          0.0          0.0  \n",
       "4     0.693147          0.0          0.0          0.0  \n",
       "\n",
       "[5 rows x 93 columns]"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_log = np.log1p(X)\n",
    "X_log = pd.DataFrame(columns=X.columns+\"_log\",data=X_log.values)\n",
    "X_log.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 特征tfidf变换"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>feat_1_tfidf</th>\n",
       "      <th>feat_2_tfidf</th>\n",
       "      <th>feat_3_tfidf</th>\n",
       "      <th>feat_4_tfidf</th>\n",
       "      <th>feat_5_tfidf</th>\n",
       "      <th>feat_6_tfidf</th>\n",
       "      <th>feat_7_tfidf</th>\n",
       "      <th>feat_8_tfidf</th>\n",
       "      <th>feat_9_tfidf</th>\n",
       "      <th>feat_10_tfidf</th>\n",
       "      <th>...</th>\n",
       "      <th>feat_84_tfidf</th>\n",
       "      <th>feat_85_tfidf</th>\n",
       "      <th>feat_86_tfidf</th>\n",
       "      <th>feat_87_tfidf</th>\n",
       "      <th>feat_88_tfidf</th>\n",
       "      <th>feat_89_tfidf</th>\n",
       "      <th>feat_90_tfidf</th>\n",
       "      <th>feat_91_tfidf</th>\n",
       "      <th>feat_92_tfidf</th>\n",
       "      <th>feat_93_tfidf</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.080436</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.074055</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.227278</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.196169</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.011846</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.010756</td>\n",
       "      <td>0.103045</td>\n",
       "      <td>0.021145</td>\n",
       "      <td>0.073024</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.013132</td>\n",
       "      <td>...</td>\n",
       "      <td>0.446712</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.008051</td>\n",
       "      <td>0.022456</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.121616</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.142568</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 93 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   feat_1_tfidf  feat_2_tfidf  feat_3_tfidf  feat_4_tfidf  feat_5_tfidf  \\\n",
       "0      0.080436           0.0           0.0      0.000000      0.000000   \n",
       "1      0.000000           0.0           0.0      0.000000      0.000000   \n",
       "2      0.000000           0.0           0.0      0.000000      0.000000   \n",
       "3      0.011846           0.0           0.0      0.010756      0.103045   \n",
       "4      0.000000           0.0           0.0      0.000000      0.000000   \n",
       "\n",
       "   feat_6_tfidf  feat_7_tfidf  feat_8_tfidf  feat_9_tfidf  feat_10_tfidf  ...  \\\n",
       "0      0.000000      0.000000      0.000000           0.0       0.000000  ...   \n",
       "1      0.000000      0.000000      0.227278           0.0       0.000000  ...   \n",
       "2      0.000000      0.000000      0.196169           0.0       0.000000  ...   \n",
       "3      0.021145      0.073024      0.000000           0.0       0.013132  ...   \n",
       "4      0.000000      0.000000      0.000000           0.0       0.000000  ...   \n",
       "\n",
       "   feat_84_tfidf  feat_85_tfidf  feat_86_tfidf  feat_87_tfidf  feat_88_tfidf  \\\n",
       "0       0.000000       0.074055       0.000000       0.000000            0.0   \n",
       "1       0.000000       0.000000       0.000000       0.000000            0.0   \n",
       "2       0.000000       0.000000       0.000000       0.000000            0.0   \n",
       "3       0.446712       0.000000       0.008051       0.022456            0.0   \n",
       "4       0.000000       0.121616       0.000000       0.000000            0.0   \n",
       "\n",
       "   feat_89_tfidf  feat_90_tfidf  feat_91_tfidf  feat_92_tfidf  feat_93_tfidf  \n",
       "0            0.0       0.000000            0.0            0.0            0.0  \n",
       "1            0.0       0.000000            0.0            0.0            0.0  \n",
       "2            0.0       0.000000            0.0            0.0            0.0  \n",
       "3            0.0       0.000000            0.0            0.0            0.0  \n",
       "4            0.0       0.142568            0.0            0.0            0.0  \n",
       "\n",
       "[5 rows x 93 columns]"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.feature_extraction.text import TfidfTransformer\n",
    "tfidf = TfidfTransformer()\n",
    "X_tfidf = pd.DataFrame(columns=X.columns+\"_tfidf\",data=tfidf.fit_transform(X).toarray())\n",
    "X_tfidf.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 进行特征归一化\n",
    "由于特征为稀疏特征，所以使用minmax方式进行缩放"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>feat_1_log</th>\n",
       "      <th>feat_2_log</th>\n",
       "      <th>feat_3_log</th>\n",
       "      <th>feat_4_log</th>\n",
       "      <th>feat_5_log</th>\n",
       "      <th>feat_6_log</th>\n",
       "      <th>feat_7_log</th>\n",
       "      <th>feat_8_log</th>\n",
       "      <th>feat_9_log</th>\n",
       "      <th>feat_10_log</th>\n",
       "      <th>...</th>\n",
       "      <th>feat_84_log</th>\n",
       "      <th>feat_85_log</th>\n",
       "      <th>feat_86_log</th>\n",
       "      <th>feat_87_log</th>\n",
       "      <th>feat_88_log</th>\n",
       "      <th>feat_89_log</th>\n",
       "      <th>feat_90_log</th>\n",
       "      <th>feat_91_log</th>\n",
       "      <th>feat_92_log</th>\n",
       "      <th>feat_93_log</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.167949</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.172195</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.159571</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.159571</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.167949</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.162608</td>\n",
       "      <td>0.649561</td>\n",
       "      <td>0.289065</td>\n",
       "      <td>0.489076</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.201849</td>\n",
       "      <td>...</td>\n",
       "      <td>0.721831</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.165443</td>\n",
       "      <td>0.260365</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.172195</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.142178</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 93 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   feat_1_log  feat_2_log  feat_3_log  feat_4_log  feat_5_log  feat_6_log  \\\n",
       "0    0.167949         0.0         0.0    0.000000    0.000000    0.000000   \n",
       "1    0.000000         0.0         0.0    0.000000    0.000000    0.000000   \n",
       "2    0.000000         0.0         0.0    0.000000    0.000000    0.000000   \n",
       "3    0.167949         0.0         0.0    0.162608    0.649561    0.289065   \n",
       "4    0.000000         0.0         0.0    0.000000    0.000000    0.000000   \n",
       "\n",
       "   feat_7_log  feat_8_log  feat_9_log  feat_10_log  ...  feat_84_log  \\\n",
       "0    0.000000    0.000000         0.0     0.000000  ...     0.000000   \n",
       "1    0.000000    0.159571         0.0     0.000000  ...     0.000000   \n",
       "2    0.000000    0.159571         0.0     0.000000  ...     0.000000   \n",
       "3    0.489076    0.000000         0.0     0.201849  ...     0.721831   \n",
       "4    0.000000    0.000000         0.0     0.000000  ...     0.000000   \n",
       "\n",
       "   feat_85_log  feat_86_log  feat_87_log  feat_88_log  feat_89_log  \\\n",
       "0     0.172195     0.000000     0.000000          0.0          0.0   \n",
       "1     0.000000     0.000000     0.000000          0.0          0.0   \n",
       "2     0.000000     0.000000     0.000000          0.0          0.0   \n",
       "3     0.000000     0.165443     0.260365          0.0          0.0   \n",
       "4     0.172195     0.000000     0.000000          0.0          0.0   \n",
       "\n",
       "   feat_90_log  feat_91_log  feat_92_log  feat_93_log  \n",
       "0     0.000000          0.0          0.0          0.0  \n",
       "1     0.000000          0.0          0.0          0.0  \n",
       "2     0.000000          0.0          0.0          0.0  \n",
       "3     0.000000          0.0          0.0          0.0  \n",
       "4     0.142178          0.0          0.0          0.0  \n",
       "\n",
       "[5 rows x 93 columns]"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.preprocessing import MinMaxScaler\n",
    "# log特征归一化\n",
    "mms_log = MinMaxScaler()\n",
    "X_log_name = X_log.columns\n",
    "X_log = mms_log.fit_transform(X_log)\n",
    "X_log = pd.DataFrame(columns=X_log_name,data=X_log)\n",
    "X_log.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>feat_1_tfidf</th>\n",
       "      <th>feat_2_tfidf</th>\n",
       "      <th>feat_3_tfidf</th>\n",
       "      <th>feat_4_tfidf</th>\n",
       "      <th>feat_5_tfidf</th>\n",
       "      <th>feat_6_tfidf</th>\n",
       "      <th>feat_7_tfidf</th>\n",
       "      <th>feat_8_tfidf</th>\n",
       "      <th>feat_9_tfidf</th>\n",
       "      <th>feat_10_tfidf</th>\n",
       "      <th>...</th>\n",
       "      <th>feat_84_tfidf</th>\n",
       "      <th>feat_85_tfidf</th>\n",
       "      <th>feat_86_tfidf</th>\n",
       "      <th>feat_87_tfidf</th>\n",
       "      <th>feat_88_tfidf</th>\n",
       "      <th>feat_89_tfidf</th>\n",
       "      <th>feat_90_tfidf</th>\n",
       "      <th>feat_91_tfidf</th>\n",
       "      <th>feat_92_tfidf</th>\n",
       "      <th>feat_93_tfidf</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.081393</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.075886</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.231403</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.199730</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.011987</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.011668</td>\n",
       "      <td>0.105971</td>\n",
       "      <td>0.021681</td>\n",
       "      <td>0.080435</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.013525</td>\n",
       "      <td>...</td>\n",
       "      <td>0.460983</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.008244</td>\n",
       "      <td>0.022456</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.124622</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.145988</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 93 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   feat_1_tfidf  feat_2_tfidf  feat_3_tfidf  feat_4_tfidf  feat_5_tfidf  \\\n",
       "0      0.081393           0.0           0.0      0.000000      0.000000   \n",
       "1      0.000000           0.0           0.0      0.000000      0.000000   \n",
       "2      0.000000           0.0           0.0      0.000000      0.000000   \n",
       "3      0.011987           0.0           0.0      0.011668      0.105971   \n",
       "4      0.000000           0.0           0.0      0.000000      0.000000   \n",
       "\n",
       "   feat_6_tfidf  feat_7_tfidf  feat_8_tfidf  feat_9_tfidf  feat_10_tfidf  ...  \\\n",
       "0      0.000000      0.000000      0.000000           0.0       0.000000  ...   \n",
       "1      0.000000      0.000000      0.231403           0.0       0.000000  ...   \n",
       "2      0.000000      0.000000      0.199730           0.0       0.000000  ...   \n",
       "3      0.021681      0.080435      0.000000           0.0       0.013525  ...   \n",
       "4      0.000000      0.000000      0.000000           0.0       0.000000  ...   \n",
       "\n",
       "   feat_84_tfidf  feat_85_tfidf  feat_86_tfidf  feat_87_tfidf  feat_88_tfidf  \\\n",
       "0       0.000000       0.075886       0.000000       0.000000            0.0   \n",
       "1       0.000000       0.000000       0.000000       0.000000            0.0   \n",
       "2       0.000000       0.000000       0.000000       0.000000            0.0   \n",
       "3       0.460983       0.000000       0.008244       0.022456            0.0   \n",
       "4       0.000000       0.124622       0.000000       0.000000            0.0   \n",
       "\n",
       "   feat_89_tfidf  feat_90_tfidf  feat_91_tfidf  feat_92_tfidf  feat_93_tfidf  \n",
       "0            0.0       0.000000            0.0            0.0            0.0  \n",
       "1            0.0       0.000000            0.0            0.0            0.0  \n",
       "2            0.0       0.000000            0.0            0.0            0.0  \n",
       "3            0.0       0.000000            0.0            0.0            0.0  \n",
       "4            0.0       0.145988            0.0            0.0            0.0  \n",
       "\n",
       "[5 rows x 93 columns]"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# tfidf特征归一化\n",
    "mms_tfidf = MinMaxScaler()\n",
    "X_tfidf_name = X_tfidf.columns\n",
    "X_tfidf = mms_tfidf.fit_transform(X_tfidf)\n",
    "X_tfidf = pd.DataFrame(columns=X_tfidf_name,data=X_tfidf)\n",
    "X_tfidf.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 保存变换后的特征，以及变换特征的模型好用于测试数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>feat_1_log</th>\n",
       "      <th>feat_2_log</th>\n",
       "      <th>feat_3_log</th>\n",
       "      <th>feat_4_log</th>\n",
       "      <th>feat_5_log</th>\n",
       "      <th>feat_6_log</th>\n",
       "      <th>feat_7_log</th>\n",
       "      <th>feat_8_log</th>\n",
       "      <th>feat_9_log</th>\n",
       "      <th>...</th>\n",
       "      <th>feat_85_tfidf</th>\n",
       "      <th>feat_86_tfidf</th>\n",
       "      <th>feat_87_tfidf</th>\n",
       "      <th>feat_88_tfidf</th>\n",
       "      <th>feat_89_tfidf</th>\n",
       "      <th>feat_90_tfidf</th>\n",
       "      <th>feat_91_tfidf</th>\n",
       "      <th>feat_92_tfidf</th>\n",
       "      <th>feat_93_tfidf</th>\n",
       "      <th>target</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0.167949</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.075886</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>Class_1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.159571</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>Class_1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.159571</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>Class_1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>0.167949</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.162608</td>\n",
       "      <td>0.649561</td>\n",
       "      <td>0.289065</td>\n",
       "      <td>0.489076</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.008244</td>\n",
       "      <td>0.022456</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>Class_1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.124622</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.145988</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>Class_1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 188 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   id  feat_1_log  feat_2_log  feat_3_log  feat_4_log  feat_5_log  feat_6_log  \\\n",
       "0   1    0.167949         0.0         0.0    0.000000    0.000000    0.000000   \n",
       "1   2    0.000000         0.0         0.0    0.000000    0.000000    0.000000   \n",
       "2   3    0.000000         0.0         0.0    0.000000    0.000000    0.000000   \n",
       "3   4    0.167949         0.0         0.0    0.162608    0.649561    0.289065   \n",
       "4   5    0.000000         0.0         0.0    0.000000    0.000000    0.000000   \n",
       "\n",
       "   feat_7_log  feat_8_log  feat_9_log  ...  feat_85_tfidf  feat_86_tfidf  \\\n",
       "0    0.000000    0.000000         0.0  ...       0.075886       0.000000   \n",
       "1    0.000000    0.159571         0.0  ...       0.000000       0.000000   \n",
       "2    0.000000    0.159571         0.0  ...       0.000000       0.000000   \n",
       "3    0.489076    0.000000         0.0  ...       0.000000       0.008244   \n",
       "4    0.000000    0.000000         0.0  ...       0.124622       0.000000   \n",
       "\n",
       "   feat_87_tfidf  feat_88_tfidf  feat_89_tfidf  feat_90_tfidf  feat_91_tfidf  \\\n",
       "0       0.000000            0.0            0.0       0.000000            0.0   \n",
       "1       0.000000            0.0            0.0       0.000000            0.0   \n",
       "2       0.000000            0.0            0.0       0.000000            0.0   \n",
       "3       0.022456            0.0            0.0       0.000000            0.0   \n",
       "4       0.000000            0.0            0.0       0.145988            0.0   \n",
       "\n",
       "   feat_92_tfidf  feat_93_tfidf   target  \n",
       "0            0.0            0.0  Class_1  \n",
       "1            0.0            0.0  Class_1  \n",
       "2            0.0            0.0  Class_1  \n",
       "3            0.0            0.0  Class_1  \n",
       "4            0.0            0.0  Class_1  \n",
       "\n",
       "[5 rows x 188 columns]"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pickle as pc\n",
    "X_log_tfidf = pd.concat([df['id'],X_log,X_tfidf,y],axis=1)\n",
    "X_log_tfidf.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_log_tfidf.to_csv(\"Otto_train_log_tfidf.csv\",index=False,header=True)\n",
    "pc.dump(tfidf,open(\"tfidf.pkl\",\"wb\"))\n",
    "pc.dump(mms_log,open(\"mms_log.pkl\",\"wb\"))\n",
    "pc.dump(mms_tfidf,open(\"mms_tfidf.pkl\",\"wb\"))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 读取数据进行LightGBM GBDT训练"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>feat_1_log</th>\n",
       "      <th>feat_2_log</th>\n",
       "      <th>feat_3_log</th>\n",
       "      <th>feat_4_log</th>\n",
       "      <th>feat_5_log</th>\n",
       "      <th>feat_6_log</th>\n",
       "      <th>feat_7_log</th>\n",
       "      <th>feat_8_log</th>\n",
       "      <th>feat_9_log</th>\n",
       "      <th>...</th>\n",
       "      <th>feat_85_tfidf</th>\n",
       "      <th>feat_86_tfidf</th>\n",
       "      <th>feat_87_tfidf</th>\n",
       "      <th>feat_88_tfidf</th>\n",
       "      <th>feat_89_tfidf</th>\n",
       "      <th>feat_90_tfidf</th>\n",
       "      <th>feat_91_tfidf</th>\n",
       "      <th>feat_92_tfidf</th>\n",
       "      <th>feat_93_tfidf</th>\n",
       "      <th>target</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0.167949</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.075886</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>Class_1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.159571</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>Class_1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.159571</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>Class_1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>0.167949</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.162608</td>\n",
       "      <td>0.649561</td>\n",
       "      <td>0.289065</td>\n",
       "      <td>0.489076</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.008244</td>\n",
       "      <td>0.022456</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>Class_1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.124622</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.145988</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>Class_1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 188 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   id  feat_1_log  feat_2_log  feat_3_log  feat_4_log  feat_5_log  feat_6_log  \\\n",
       "0   1    0.167949         0.0         0.0    0.000000    0.000000    0.000000   \n",
       "1   2    0.000000         0.0         0.0    0.000000    0.000000    0.000000   \n",
       "2   3    0.000000         0.0         0.0    0.000000    0.000000    0.000000   \n",
       "3   4    0.167949         0.0         0.0    0.162608    0.649561    0.289065   \n",
       "4   5    0.000000         0.0         0.0    0.000000    0.000000    0.000000   \n",
       "\n",
       "   feat_7_log  feat_8_log  feat_9_log  ...  feat_85_tfidf  feat_86_tfidf  \\\n",
       "0    0.000000    0.000000         0.0  ...       0.075886       0.000000   \n",
       "1    0.000000    0.159571         0.0  ...       0.000000       0.000000   \n",
       "2    0.000000    0.159571         0.0  ...       0.000000       0.000000   \n",
       "3    0.489076    0.000000         0.0  ...       0.000000       0.008244   \n",
       "4    0.000000    0.000000         0.0  ...       0.124622       0.000000   \n",
       "\n",
       "   feat_87_tfidf  feat_88_tfidf  feat_89_tfidf  feat_90_tfidf  feat_91_tfidf  \\\n",
       "0       0.000000            0.0            0.0       0.000000            0.0   \n",
       "1       0.000000            0.0            0.0       0.000000            0.0   \n",
       "2       0.000000            0.0            0.0       0.000000            0.0   \n",
       "3       0.022456            0.0            0.0       0.000000            0.0   \n",
       "4       0.000000            0.0            0.0       0.145988            0.0   \n",
       "\n",
       "   feat_92_tfidf  feat_93_tfidf   target  \n",
       "0            0.0            0.0  Class_1  \n",
       "1            0.0            0.0  Class_1  \n",
       "2            0.0            0.0  Class_1  \n",
       "3            0.0            0.0  Class_1  \n",
       "4            0.0            0.0  Class_1  \n",
       "\n",
       "[5 rows x 188 columns]"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv(\"Otto_train_log_tfidf.csv\")\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "X = df.drop(['id','target'],axis=1)\n",
    "y = df['target']\n",
    "columns_name = X.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 稀疏矩阵处理\n",
    "from scipy.sparse import csr_matrix\n",
    "X = csr_matrix(X)\n",
    "# 标签处理,转换成1-9\n",
    "from sklearn.preprocessing import LabelEncoder\n",
    "le = LabelEncoder()\n",
    "y = le.fit_transform(y)"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "iVBORw0KGgoAAAANSUhEUgAACCoAAACUCAYAAABfwFobAAAgAElEQVR4AexdBZgUR9OuAAGCu7t7cAgOcSNCQtzd3eWPfnH3EHd3IiQkIbgFd3d3DYHkf945ara6ZnZvZ3fvOEj189zNTE93T/e7raX77dy581+yYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGQC4gkC8XvmGfMAQMAUPAEDAEDAFDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwEPABBWsIxgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoZAriFgggq5BrV9yBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQMARMUMH6gCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAjkGgImqJBrUNuHDAFDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AEFawPGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChkCuIWCCCrkGtX3IEDAEDAFDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBExQwfqAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCOQaAiaokGtQ24cMAUPAEDAEDAFDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwAQVrA8YAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGQK4hYIIKuQa1fcgQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQMAQMAUPAEDAETFDB+oAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAI5BoCJqiQa1DbhwwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQMAQMAUPABBWsDxgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoZAriFQIKe/9H/fzs3pT1j5hoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIZBLCNx7bJ20vmQWFdKCzzIbAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGQBQETFAhClqW1hAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQMATSQsAEFdKCzzIbAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGQBQETFAhClqW1hAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQMATSQsAEFdKCzzIbAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGQBQE9tu5c+e/UTJETbtm666oWSy9IWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCORRBMoWyZ9WzcyiQlrwWWZDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQiIKACSpEQcvSGgKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChkBaCJigQlrwWWZDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQiIKACSpEQcvSGgKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChkBaCJigQlrwWWZDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQiIKACSpEQcvSGgKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChkBaCJigQlrwWWZDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQiIKACSpEQcvSGgKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChkBaCJigQlrwWWZDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQiIKACSpEQcvSGgKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChkBaCJigQlrwWWZDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQiIKACSpEQcvSGgKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChkBaCJigQlrwWWZDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQiIKACSpEQcvSGgKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChkBaCJigQlrwWWZDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQiIJAgSiJLe1/B4H77rqNpk6e5Df4sCOPofMvvtR/thtDwBAwBHIbgZ07d9KZJx/vfPbam26ljp26OHG58fDZxx/QZx994H+qStVq9OTzL/vPdmMIGAKGgCFgCBgChoAhYAgYAoaAIWAIGAKGgCFgCBgChoAhYAgYAoaAIRAfARNUiI9Nnn6z46+/aMb0aQnrWKlyFSpfoULCNPFejv9zLA0dPMh/XbpM2VwRVJg0Ybz/TdxUrVaNypQt58TtLQ+7du1yhD1Q7+o1alCp0mX2liZYPXMBgXVr19DiRYsSfqle/QZ0QJEiCdP8V17+NvBnp6nHHHdCWoIKGzasp1UrV9K2rVv9ckuXKUPVqtfwn8NuFi1YQLIuxYoV3+sEFf7e9Q/d9OYw6tG8Kh3brhblz7dfWFMtzhAwBAwBQ8AQMAQMAUPAEDAEDAFDwBAwBAwBQ8AQMAQMAUPAEDAEDIGMI7BPCSr8PmkJ/TJhsQ/SSZ3rUsvaeyeT229EnJtly5bSIV07xHmbFX3fQ4/RJVdcnTBNXnup2/Tkcy/RGeecn9eqmVR9tm/fFviNXnnzXTq+T9+k8ufVRD//+L1TtXoNGlLtOnWduCgP//zzDy2YP4+mT53iCXbMnDmdypUrT3Xq1afWbdpSqzbtAsX98tMPtH379kA8IgoUKEBFixajuvUbUJWqVUPTIHLIoN9p27YYcxpxzVq0pMpVqvh5oMH/2y8D/Ge+QZ3KlS/Pj4Hrxo0baMa0qTRtymSaPGkibdq40atLzVq1CdZJKlWu7Of5ZcCPdOXFifv4gEHD6MBWbfw8dpMeAiuWL6cXn32SXn7+mdCCzjj7vL1O6CC0IdlE9h+zgFZt2EafDplN81ZspOt6H+jnGDBuEf0xZan/fFbPhtSwain/+b92s2DlJvpm1Dyv2ce2r021KhT/r0GwT7f3r7930drNf3ltLJBvPypf8oC02jtz6Xp659cZfhldmlSmI1onFn7yEydx8y8R3f3+SPoXN0RUuUwRuuKo5knkjCVB1uXrYmtghZIHmLBSDJ607v5L55G0gMrBzH/v/IeWrt1CS9ZuoYIF8lH1csUIfXy//aIJ5G3/e5e3TqKqhQvmp/Il0psbcrDJ+3TRb/wyjeYu3+i1ET/hHSe39X6PvN5o9MN7PxrtV7NU0UJ04wkt/ee94Sanx8B/db6cuWQ99R+7gAoVyE/Hd6xNVcoU3Ru6g9UxAgJL1myhuSs2UuXSRah2xRIZ32Pl9NiM0NR9Nqmd//adn3bF+m20Y+cur0EVSx5ABffPn3Tjdv3zL81ZvsHbD9aqUIKqlC1K0XaTRNt37KLpS9bRjr93Uf0qpah0sUJJfz8vJszps25ebHOm65QX9z/o67OXbSDMfWs2bacqZYpQ23oVqGjh/TPd/IyU9/KPU2jx6s1+WXed0pYKJTm2obT11Yh5NG/5RmpRqywd3rp65HOi/+FcuAHtZu3G7bR4zWbauHWHNw9VLVuMCifZXq7i+i1/0fTF66hoof2pXpWSdEDBaGzhvDIfptsO4JHT+zTG3K7REIjWI6OVneupJy1Y6zFb/A/vJuD6z3bzn0Ng3tw59NF7bzvtvuLaG6hEiZJOnD0kj8CZfU9wEqcjELNo4QK68OzTafyfY5wy5UP7jp3ongcfpjbtYoI511x+Ma1etVImC70vV74CXXTpFXT+JZcFfvM+xx4eyHPdzbfRrXfe48dPHP8n6fbi5adf/0Ddevby0/HNv//+S6+++BzdfdtNHBW43nTtlXTnvQ/SVdfdGHhnETmPALuPmDhhXM5/LA9/YfO2v+mLYXP8Gu7a9Y9/j5uJ81c76+l/2drChq076K73RxI25QijZ62kZy7qutcTGJwf/D/+MGz6cnptwFQfhfdvONS/T+Vm/opNzvhpUy++YFsq5a/f/JfPtEP+nWr8JlPmmo3b6cY3hvpJ7zmtPdWvYnsjH5A0buw8kgZ4aWbFfP3x4Fk0aHJM0I6LLFGkoCfQ06xmcpbNIOhw/8djPGIQyti/QD5665qDuTi75iICI2euIOxbOOC32BvCqo3bnLUADMu9KeTGGPgvzpdgmEkBllGzVtCLl3anIoX2KdLc3tTVM1ZXCCZgDZqxZD1BUEmGQ1tWp3N6NcwIIyQ3xqas+3/x3s5/+8avjtP7R3/Mou9Gz/cbdGaPBnRkm5r+c7ybodOW0Q9jFzrrONKCLnLR4U2pa5OY8lFYGaAdfDF8Lg2fvpxWrI8JhyMt9qS39mlNNfdS5YecPuuG4bmvxeW1/c/URWvppR8m09pNWcobjHedSiXzrKDCiBnLnbU2WSEFtK3fT1MJYxxhwvzVtOWvv6lPp9QVMBmvTF8xhw2Zuoze+32Gcxbi7xzTrhZBSXv//PHPRhBseH/QTBo/b3WgDNB/bjy+FRU7ILEwSl6YDzPRjtzap/HvY9foCOxTp6GVG9zFP12NuOhwWo68hsCsGdPp6ccfcap13kVBprWTwB5yBYGBP/9EF59zBm3evCnh90aNGEY/9v/WEVRImEG8hDDDQ/f/H3395Wf0/S9/ZOs+YeBPPzqCCoMH/S5KS3wLKwrXXXEJfff1l4kTQnJvcWJXD9kWYAlSRuD3gT/Tf11IAeB9PXKez3jHc8/m1RxMQUSVYV9eT2E9YsqitQRN+gsPaxKQKp6yYK2DFYgOIEB2bFhRQrTX3E9ZuJYGjM+ag47rUJvqVCyx19Q9pyoqLQuAcJRu0PtRaHJnMqxU47NiqSDzK7t+rQlm5UoUzmQV/9Nl6d9/X54/89IPDW23ez8c7czXsn4gbjz02Vi6o28balI9sbDChHmr6YmvxjtllTgg/blB1sfuk0MABDoppADNobwgPAlhrw8HzyJoZLWtW566No1ZZOOWwWqVDBVKBudq+T4v3efWGPgvzpfAVgYwtGHZrGmNxPOSzPNfu89uT5MX8EAd3/51etyq/Dx+Ec1fuZHu7NuWCiRgKMQtYPeL3Bqb2dVjb3+fXZ/am89/dtbL6p2wmPfUNxNo0vw1TnctWzzxmQfKR89+N4lGzVzh5OMH0AJe/mEyLVu7hfp2qcfRznXTtr89RQe9D+BE2JNCEeL641pSyzp7nxVovXZn+qzLOO3LV43hnjwvQkjhwU/GhsKdVy0+QVFDCgTCalmUACFRGcbMXpXnBBUw1zz4yRiP9ijrKu8hhIW9xW0nhVtghvWT/3061sFK5p+1dAPd8OZQeuCMDqFWRfPKfJhuO9Dm3NqnSXztPjoC+5SgwuqNrin4fZnoWqFCRfriO9ck/YnHHBa9B8TJceOtd9LpZ5/rv83OX7uf0G4MgSQQgAWF0/v0TiJlZpJMnTyJ7rrtJnr8mRcSFggG9upVq3y3Dr/+/FPC9PLlpeedRRC+iBq6du/ljOXZs2bQzdddFbWY/0T6/PnzU7+3P6AdO2JSvi1bt43U9unTYlrTnBHWLbp070n7F8iSIq1QMXsG9DHHn0jVa8Yk8QsWjLYx5m/viSs2m79OjLlJAtG/VV33gLx2k7uelswA83ZPtDW7b279a6dDVLzg0CaBLGGmGUsUSSxxHCgkD0W8/vM0X6ujc6NKJqgAFwhCyyUTe8fl61zmVKYJD5qwUaGUKwixbUf2/VoLKpTay02Q5qEhRv+l80hewR3CdbB+AIJOduG57ybRS5d1j5sMBJ8P/5gVeG9E2AAkuRIBCzIyZHo+lWVHuf9uzHxPSxJ5ih+wf6igwkotqKDm6ijfy820uTkG/ovzZdi+srgJQsXt4snsaeJmzqUX0OoME1KAUJVcl8AQ+G3SEoJ1hVRCbo7NVOq3t+TZ189/dtYjgjAhLNfAfL0O2e3nXvt5WkBIQY9llAnFD1hVqKxc93hunz4c5bsO4+/DGpRkrGJueOH7SfTy5T3yhAAm1zOZa06fdZOpw96eJq/sfzAfPvHleAdOuHxtWac81a5QPM/2zVVp8v8ggC7nh7xI33vx+0kJhRT4R5u8YK1n9bVd/Qoc5V2XrdsaKqSg5yIIhL/72wy6/vige7q8MB9moh25tU9zfgB7SAmBfUZQAWQpSCVywMCLYvaF8+0t1wOKFKHO3eIT2dJtR6eu3dItwvIbAnEReOqxh0PfHXfiSdS6bXvaumULjRg+hAb9OjA0nY4876JL6djjTvSi169fR7DC8PLzzzjJvvz0Y3rs6eezNbc4bMgf1PuEPrRp00YaMWyIU0a8h3FjR4cKKTRo1JgOP/JoqlK1Ok2aMI6++fLzgAWJSpUrE/44FCtRnG/tqhCAb2n8NumEhQtiZv9QDtyD3HHPA9n2C/3N+g0aEv72xoCNLPyacujerCrlE367cWiW7zOhYc7fymvX8XNjWm0gQISZ3W1cvTR1alyJhk1b7lUfWpPZaePmtXZyfWDGVDKosyPUcL59/bpiXcwiV6UMmObW2jOZ1qJdriwqVFIWFZLp19qKRFRfq/t6n0i1ff+180iqOGU630s/THKIv23qlvfM8hYqkI+GKtcuOC+u37KDShV1LSRg7Xvx+8kEQkZYqJiBuSGsXItLjEAyFmQSl5Azb8fMjrmgizfH67probKcqVnqpeb2GPivzpdt65WnA2uV80wN49c6qm1NqlG+WOo/3D6eM5k9zZ6EYPP2v721Q9bh8FY16LRu9alAgXz06ZDZHkOT38MU/CEHVot09sztscl13VevyfSpvfX8Z2c98hh7sKAlhQJkX04k8AjN8t8nLfGTgz5wwaGNCfSSHX/vooc+/5NmLlnvv/9s2Fy66pjm/jNuvhgxl8BY4wCT6jCtDhPrcAl1+zsjCMxhBFxh1r17s6BVJs6fF685fdbNi23OZJ3y0v5n7OyVDu0PtK5Lj2iayebmSFmrlTBwmIXJRB++9Mim9PBnf3rChBij5x7cOFHyXH83bu4qGjEjZvUBymXXHdeS4MIQ7gte7D/JmWfwO2pBhee/m+jMg5iDrjn2QM+FLdxAPPZFzB3y2DmrPOEqOT/mlfkw3Xbkxj4t1zvIPvzBfUZQYcOWmJACfq8yxRKbc9qHf9OUmgaz9f/sijGudCFFihSlgoWS0xjevm0bTZk8kSaMG0fVqlen9gd1olKlStOOv/6irVu3+EXny5+fSpRIzh/yX9u30+iRI2je3NlUv2Ejatq8BRUvHjRX/feOHbRly2b/G2A267B+3VoqXNhtS7HiJahAgfDhkBPtQZmjRgynRQvne21p3KQZFSoc7LOo/66dWZvYQoUKU4H996fRI4bTwoXzqUevQ30G99LFi2nY0D88jfAWrVpT7Tp5z7cS/w6TJoz3XDnwM19hIUQL30ybMplOPyl7ywvNmrdw8h7d+3havnwZffXZJ1y8JyCwdMliqlotsQbDoN8GeszwkcNivrv9QuLcPPnoQ4E3YKi/8Oqbzri5674H6Zbrrw6kzXQENObnzJ5Fy5cupdWrV9K6teuo8AGFqXTpMlSvQUOqV79BUp/8559/CO5TlixZTMuWLCaUW6ZsOSpbrhw1btos6fG7eNFCWjBvHi1dupi2bN5CZcqWpTJlylLd+g2ocpX4hzJ8b8P6dQnrWrxESYKlhXgBY2379ph285bNsfkBeVAX/Y2iRYvR/gVdBsa2rVvpr7+CEvn8XcyPmCejBMxFM6ZPo9kzZ1CxYsW9uQ1jF4Jo2QU9Z8s6b9iwnsaMGkmLFy6gKlWrEaxOlK8Qk679VRy+8Z1DW7puH7R0977MzIbfaw4lFdOK43G94qjmdFaPLL+y0JzcW8Ofc1Y5VZcHEefFf+yBiUVodrWy6TMLVm+MzTkoM1HfSgVqKWyC/HqMjpoVY6DFM4O4ZTeBDPn3Nr/pqWCWW3nsPJJbSMe+g/EALVUOtSoUp+uOO9BnAvVsXpX6j57vEHOWrdviCCpAeAFmMRetdvcIXCauFTPswkWWbffxEcjOgkz8nDn3BowG6cO3YhxLCQGLCnm4D+2JMfBfnS8heH1zn1a0fstfVLBA/lAh2ZzrvXtfycnsafZkqz4ZMtuxmtC5cWU6u1dMmB2m4cGIZM1NjLWpi9Yl7epjT4zNPYlnbnx7Xz7//dfPerBY8tqAoAVN7lcQPChaOP5Z/rUB0zipd73o8Kae1QQ8FASjsPeBdNlLg/w0EG697MimvjsXCMJ+M3Ke/x7fu+fUdr7VhfIlDvBcTT777UQ/zY9/LtzrBBVy+qzrg7OP3uSl/c/ImTG6AeA+oWOdvQJ1vceOtxeP1xgoHr1xdS9at/kvKlfyAMprShvfjHIV7O44pa1vCRWuW49tX4te/Sk2181f6brUhkC1jIPLmztObktQ6kZoWbsc9Whe1RHM+mXCYk/IkjHLC/NhJtqR0/s0xsuumUEgnDObmbIzVgqYVSs3bKelazd7vqNrVywRsJagJfrKlwwyfXWFtu/YRcvXbSGYjMFghdZo9XLFaP84PuPgg3LJ6s0ETbYqZYpQ1bLFEprBAeF7wapNnl/NGuWLU9SJU9c3J59P7n0UwRx/vHD6WefSUy+8Eu+1Hw+N8YvOOd1/5psLL72C2nXoSJecdxZHedcZC5d7QgxOpHp47KH76fGHHnBioQX95vsfU/uOnZz4n37oTxecdaoTpx+6d2yto+j+hx+niy8PmtvPifa82e8VuvWGILP6+VffoJNPPcOp27mn96Uhg37z4s44+zwa8sfvtGB+bOP75HMv0X758tF1V1zi5Hvq+Zfp9LPPc+LyykO/l54PVOWZl/o5ggacAMzwn34fTnPnBE3wcpp410MPP9IRVEA6WGrILvzY/1vPRcQfv/+aXVLv/exZM2nAD/2dtFWqVqWXXn8nIPwCJj9cFyxdEpPSdjKm+bB82TJ6/qnHqP+3XyX8Bup37/8eS2id4NuvvqAnH/0fwW1GvAAG+NMvvOIJLYSlmTD+T2/sanxk2pq1atPt/3cfHd+nr4z27iF01LBmzNpEIAERhY0bme7dt16nO2+5QUY59zOnTwt844JLLqf/PfaUk+6pxx6iZ5541ImTD5iTpsxZJKPi3k+ZNJGuvOT8uNieesbZdO9DjyacG/scfTjBVQkHzF+XXHE1XXzumTR29EiO9q8PPPIEXXTZld4zJGM5gCmrzRXq9VRqAILItnDVJs8CQ91KJQnSx9kFSIwvXr2Zlq7dQpVLF6WqZYsmXDtleanmTWb9xd5iwvyYRYWK2fiODrMsAelcmKTFvkEzhMHwgu/KkkULUd1KJXwChmyfvIeWxqI1mz1J5tJFC1PNisUJktOZDKPFQTSMUAMtnF27/vE+CeJ5ot8XhBgIMyGA4APiDRMtSh5Q0HvmugOj+Ss2EfACEzEZAYl//v2XYOkAbhmKFc7anxUumFk8uH758sWOppBSDwswIYo9HQKsLsTz1xhmkYRLR7+EH2pca1UsTiBWZReA2bzlG2nXv/9SnUolCGYKA4IKgkmGMQMJfA5aiIHj8ftzaFHbdf3C8cleMZZW7zatWqpIIf8AjPxbtv/tHZLRZtQ/zC8s/Lj+vTNLWBYMnDCz2LK/6TQgMOz85x8qUrCAQ3yE78ppi9Z5DOt6VUoGxhOEsjCfoa+HvU+2/TKdnj+zO4/Azc6SNVsIfbBauWIUxc1OducYiRmszCUizMq0xXaPZ9muVMZjMvOw/Eaq9/D7LcMlRzT1hRQ4vm7lko6gAsaRDG8OnO4IKWDua1ilFEG7hINcCzkunascN3rOxLgBIwtjAesH+rwMC1dtJghbwFVNrQolkl5Ts+sz8OeMb3MoXLBAKBMV8xLWLARoDGs8OX/UK7Qf563cSCDg8m0FO7cAACAASURBVNlZW5CJN6fhW6jT0nVbPZPP+L0ghBXmCz7enIH5G35eV23Y7p31MSalxSluz9hZsX6BuHhCLIG5WuwzsKbMWb7BoydUKVt0jxNI98QYyEvzJfefDdt20H60H5UtXsgZd1m/5X4ePUeO3VTWPFgt27p7nG3HHrJAPp/+tDftK+PVFfhgjipdvFDcuQHrM1z2ANd//81yn4J9ld53Jrun4bHJ12TnAk6f6hVzhtS+RjnnHxLUygQz4PNhc/zP4EzUtEb4ftNPtPtmT4zNdPu4bkMqz6n8hpjbF6zcRFgyQTMOO7uhbeme/+KtITm170Sd12z6yztXYv7APg1nKewBdMjurKfT8zPO+HOXb/SEq7H+xjuDpjLuo9LRuU5RrxAi1EIKh7euQT/9udAvKpHwOLSU5boN3gBcO8iAPlWvckmavSwmIAvsWJt70GSXzofva1oLrH7hHIb5A2GlcEEov5XqfTJ4p3P2yuRZN9WzQrJjIqfGKn65dOgeUfY/qZzBovQd0CY4YD+SDN8qJ+cLrkt2VzlWkVaeD5j2CDoc3FeATqUD+gb6Ecbipq07nPUiUb+Zt2KTJ3hYrWxRqlquWI7s3/F9abkFVi4gnCBDvcql5KOzZ8WL78cscN5fdFgTh0aDl7DkIvcwoF1yyCvzYbrtyI19GmNm18wgkKcFFbA5/eHPhfTliLmOuRI0HZuGm09sRWWKZ23O9EQfj+GATjpk6lL6csS8gM8ohhQHCQxiDhu37aBXf5zqEH75Xdv6Fejiw5o4xD9sjp/7bqJDEEN6TIDHd6xDx3esHUr04DLz4nX79viaxFzft157lW65Psjsx/vXXn6BPnrvHU6a9PWLzz7xGfUy0+pVK+nYw3rStHlLPA1v+S6V+7D25UR7gMFvA38OreKVF59PK1esoCuuuT70/fvvvBmIv/6qywJxiLjuykvphJNOSUozO7SAHIycNNH1f4VPJTLnX6FiRcJf1ACLFTpUq15DR3nP0GavU7eex/hF34KG+y8//eCn7dy1Ow0dHJOc9l8Q0ZxZM+Wjd3/uBZcEhBRkIggK5ERAXfq9/EK2RUNQAgJF27e/Tn1POzOQ/qXnnqZ77rglEK8jINw0d87sUEGFkcOHUu/De+ksgWcI3owZOSJUUCGQOCQC1lYyHWCFIWpINs+rLz5Hd916Y8LiP3r/HfplwI/0zkefUZt2HRKm5ZewWtH3uKM8SxocJ68L5s31HkFcgA8yDljDdAhoL5Ys4jEuXug/2SHsIN9xHWrTyV3qhW7QYfLw9QFTaebS9f5BnL/Vu0NtOqlT3bjMlVTzJrP+QrL4zV+m0dI1W5y9xbTF6+jsp37hKoZewUx85qKuPjOx34CpNGa39jr8zZ57cCOaMG81vfbzVEfbEus/JJgbVnMPFPgI6vx8/0meIIf8KPK0qlueihaKbdWa1SjruaGQ6bK7h5AAzLpBcALEAA7YD53xRGw9uvDQJvT75CUO4eX641pSm3rlOYt/fePnaTRw4mL/+eLDm3oE12v7xdzlPH9JN09jGb7eoSmC73FoXK003XBCS0/4lOP4CmEJEHMHToiVz+9A2Dn/0CaOJjS/S+fKxDgczuUhEHX+dOhs76An649vgSDVSP2eZ/dq5B10ZV1ARETLPxg0M3BgBJEaGIcJYICJ9eqAKQRXLTJgzGqt73IlDvDG2dsDp9OStcF+LX/npy/s4hE3uc0ou3Wd9AQVIEx8/etZvz367XOXdPMEit8aOJ0GT1kqq09t61Wgq49t4Yz9+z4a7fT/Jy/oEiCSXPvaYGe8vnPdIX4ZN781zO/bVx3TglrWKUcvfT/Z27fz7wa3Lvee3t4TMIEW6/PfTSKMeRlQrw4Nou83ZBnJnEdAQPx53CKvn0s3OygHjNXLj27u9ENZPtqT7Dnm4c9cCwF3ndKWGlUrLYvz7jFf/TYxRli95tgW1H43DqmMx2Tm4TDmb6BiSUac1q0B9WhW1Tt3gdEFYTgdwDSTobwi7mM9GrXbwg7KuOvUtvT2wBkyS1ICVk6GbB7kuEFSzJmYo+GPVGrAQLjrntPbe4xMEK2wXoBAyAFj+f4zOyQUnkq2z+C3g09nDjyepQANxvTLP07hJJ4VmkfOPch/TuUGAhIfD5ntMBNQDuZZ7cpRu7pBOggcvT9oZmC+xDvsN/ocVMcRWNBzRseGFT33Tm8OnObPJcgLhsSdfdv6fQprPkyGYw6R4Y73YgKiKAvzEIL8nfAMIuqAcYs82ga0pDmA4XTPae0zvrZx+clc98QYyEvzJTAaPG0ZYX+DAKG6Zy/u6q23T3w13qcbYX6sWaFEWmvel8Pn0nejY5py2EOx2e+9YV/J/UnWtVeLap559GHTl3t7f17b+l3Z0xF2mrJwLaH9ev3lMjHmn7ygc+Q9DeePOhdwvlSv0F7nfQbKwPgP29NByUkG3fflO32/J8amXJ94HcBcnOy+TrchynMqv+Hw3S6euN/x9yD4Arou9p5gumTq/KfXkJzad4Jp9PXIeYRxJfuZbN9dfdtS2RKFkz7r9WwRo0MBL2CCfizPiCj/wNrlCKbRtSBilHEflY7O7Ur1CgFw/Nbsmgln2wNrl3X2FomExH8Xe2HU4cg24bRDKCxKQQUIN7KgAiw6yAA3MDpAgBICE2yZCb8Dfl+MtXRCFLzTOXtByFqGVM66qZ4Vkh0TEDRFyKmxinN6OnQPvQaE8a9SOYPJ3yW7e9C99LwCgWFJN3jxsu4+3Sun54vs6qvfr1CuH+CGDf3qmW8nOgJHGFdwdyBpWhD+uPKVP/wisVa8cnkP/1n2m2t7H+i5VMC+7bNhcxx6BPaK952B/btrsdsvKMUbCKoD+4UrN3nKGC1qBWk1rCTCn5AuxCCINEO4qEH7mtUqy0n9a5XS7plZWqnIC/NhJtqRG/s0H1C7yQgCMep3RorLXCGYlO96b2TggM9fAJH2pjeH0X1ndPCIB5qxEuZHFBpLD3wyhiRhgMuTV2mGBwSGG94Y6kxGMi0YFNMXr/MntbGzV9GTXwcZsciDRQDE9yVrNvsEDFnW3ny/ZvXquEIK3K7Nm11TNByf6MrWBOKlefv1fnTdzbfFe51yfE61J56QAlf0vrtu86wqpMKY5zL4ClcZ3Xpmzyjm9Ll1XTg/RpjBN088+dTIJvN1XVcsX06wbICwccN6GvfnWHr79VedZEccfWxCwY3uvQ72NdQhFALXCQjQlG/UpGlcQYUli4PMtKN6H+98O68+3HvnbdT7+D5U+ICYVu+qlSvjCilAoCPZcXzjNVeENjtKGaEF7MWRwwb/ka2QAjcPAjOXXXAODRk9wXEfwu/19ftvv9ZRoc9zhPQ/ElQSmticARpOMhQtXIDuen+Us+Hn9yCegPAOAT8Z4E8NzBZ9+OE0MIk4cd5qeuCsjgEhh1TzJrv+QgsCGiNhIV59OS3eg+HJQfqfxmEABxgw5nVAvgc/HUOvXtnT0VCBJjCIfmEBeVgIgt8X3r9AZEEF1FEeVLgsfS1TojC1qlPOIbyMnrXCOdQhDw7mUkgBjJyuTSvTjMUxf51It3D1Zvrwj2U0dNoy/SmPQA1GF8xnygDt0vs/HhN3zwXt5vkrR9ITF3T2tQ9R/seDZ8tisr0HEUua5T2idQ36fPgcOqlTPV8aHQS7W98eHncfCil+Lcl/bq9GJA94qAjGB5jiYX7vQbDvN2BKYE8IYuo9H4wKHT/BPpHfI2yBgSmZm/FAYGsFnRpV8vwegrgKzal0AmuUoAz028kL1tAHg2YFmHl4D+IhDvmndKnnf1ITvEopNyxg7Es/sxAoYWIevieJq7AY8+2oeQEskAZaVlcc3Zxuf3eEI7DFFYEZVkmQ4fgo1+zOIzhw/98H4fMpvgMhLfz2j5zbKeCSI+o5pnmtso5Qy4T5awKCCtDYkEIKILSwf8tUxmOy8zAzcjH/aTPF2eENv98HNarkJ0NfAEGSiZL+i903g6cu8xjZHA+BJ61ZA+GGW/u0ppUbt1G3plW8+UWPbxDAMhnkuEG5o2etpI8Hz3L8xCIe4xraJBCievjzPwNVAOEQvpifu7hb4F3UPtOgailPC5W1qzC+vhs1n87okeUyDFrAUkgB2N94YsvAd6NEQIDytneG+wR7mVf/BninLVtAqO2NX1xTzbIM7Dcwx1x2ZDMvGtpTcs7AvgiCEq/+FBO+4PygGdz38Wh66bLunpIBhDSASaJQerf7SRBB5XeAFUyP/jQuptnJ5YBg/cRX4+j+M2LCqWj7g5+M5SRJXbEeP3BmrIykMu1OtCfGQF6aLwGD3NN52oIha3HNCsV9LUrkSWXN0/sEaWlI1iGv7iu5X8m6Yg8CrTwwMTlAiIr3zLDm8viX4+IKKHCeDbuFgKLuaZA/6lyAPOmuQRPnr+Gqe1deP51IIjqgkGuBTjNYdHr5vCfGplyfUunjsv5R7lP5Dd/5bYbDiJbfg3D+U19P8IQVILidifMf8JBze07sO7HKfPTHLEegSbaL79E+rC1RznqcFxrHD346Ni5tHIL3V786mJ6+sKsjRJfsuI9KR093LHK7YFWr0eRSBKH4WhVLeLR6focrrOLFC/DZLkPrukGFDrzXbiCz1rIyXr+QDOgyxQuFWr1AGbAWyIIKeMY+JRmLg7J+8j4q3umcvfQaFvWsG/WsgHZGHRPIk5NjVf7O+FZUukd2+59UzmCyP2R3j30v8MkuYF+JkNPzRXb1CHsv5yK8x3kC9DbdLjyDRycVIeTYQ97SQtBA9xvsRyCAhDlRB4w7KAQ9eFZH/1Wm9u8QEsdZPl6QlhCQpkGVmEIUeJQytKlbIUBzxfuiyjou2sMhL8yHmWhHbuzTGDO7ZgaBGLU9M+VlpBQQXEAczk6gAGZwWcsibLGUlYFG2qNf/BmYtGCGFkFuWiUBBJYRJHEUWjb1q5QiEDUWr8nSzjmqTU2vDJjKBGNGhoZVS1GFUkU8rS7WYj2idVZ6mW5P399wy+20dm3soPXsE4/6jNpk6vbWa0G3EE2aNadrbriZNm3cSPfccWvSDE79PWizn3HOefTd11+SZsYNGTzIEVRo0bIVwY0Ah4njx9Hrr7zIj971trvupUpVqjhxzVu4RLacbA8+fPvd93lmht5+49WAif733nqdrr/ldqd+/ABXD4UKF6YrLnLdOnz8VX8aN2Y0PfzAPZyUpk6ZlOcEFTZu3BDoB1WrVfPrnOrNo/+7j/AXL8BFCEzfJwodO3Wh55563EsCiwIcuvXo5TOuOE5elywOEhwrq/4l0+fGPdwpwN1Kx85dqFq16lSqdBnP8sGXn33suFEBM3zAj987Fi0G/vxjoIov9HuTDj/qGCpevARt2rTRszjx/jtv0btvvhZIi4h5c+cQXCrIANcEV157I1WsVIl2/PUXLVgwn/p//aWPuUzL94UKFXbG866dOymeFRHOo69du/d0ynj/7Tdp1IhhfjJYt7jlzti4wYtatYN+2Y469jiqU6++n++H774huAlJNuzcuZPuuMW1lgKhjfsffow6d+vhuSX5+IN3SfY9WJt47ZUX6fKrr0v2M4QyjzymNx3YqjXt2rWLpk2ZTLDQwAFMBhnCGC96PX3/96DVEFnGp0PnOIIKMHko/aUhLYgoBxQq4DAHwXz5ZfwigiUCDqnmjbL+bt6+w5N61hqRIKbCBLwOMp00z4t0kpAHDSD8xQs49AybtoygdYaAQ4wWUujerCqt3/xXwHIF0oPg262pa34y3rdkfJHCWaa7JVEN7/GbSFdXEFopVaQg4ffkMEW4CeG4z4dnWefg59O71fcYOPrA/cHvM/19EqeVVzDccRhiAr2nyfvhaGefBu2U+lVKEg4YvCdEnhHTlxNM4CHMWbYxrjCB/J68h2lWGSBoo4VtoFkrD2vY/8ECAvzacl1kGfBJDOanHj8QvEkU8P7MHn/57g4gKAQtF33IBgN5y19wkeDWHdYUEIAj+gj20DJ4TP3dZuNh+p/NoIN4B23RTATd5he/n5ywWIx7FlRAO2Wd0S95b8+FwEWDDGV2MwIRt3az+y7MEgfnBdPn8S/HO/MQv+MrBF94X89xUa4aCxDvOPD5Rs4pmHda1CpLy9dt9YUrgMkXw+fQFUc156yepnjUc0yLmmUdKx6zl8bM1HLB/ce4wqOnds0S1kllPEaZh/n7EGqR44zjE125DydKA+IKCFiwkiA1d4H3WcJ3uCxDE4NgQlgGTZiW71K51wS2t38NF1pD2ejXX26LaeDr74HgBiKiFNZI9ex7Vo+GHnOevwHGep/OdalAvv3o0S9iLqfwHhpKibQTuYx4V/T1ez8c7RDrkRa/E37nsLmW1wyk+3ViUEgBawb2NhAO43kU/uFP7Vrfm2fXbnatIcBVzvdjXfOosr44vw+dttwz/4w1Cf1Cz8OYezlUL5elnaSJoKhLmJAC5wMtAnMdNBMRlq3dGnlsSDdGXG6Ua66PgYA23J6bL4GTHpMQXuM+hPdYn0DXgVsWGaKseVnf2SqzO8ypvWFfyZWXdYUmrxYYglAHAub4u98fFRBexHiC6WTpYoetpUbd06QyF6Bu6a5BUqsa5dWuWNJrs/53gHJdtmtX9gwiWcaeHptR+7ise7L3qfyGYCBJs/7Y8x5Yq5znTmvs7JXe+MX8DAESWPjDXlruwVC3qOe/nN53Ys7Bfk9bVAPDsEn10p5Qo5yX4FsdbUI7kjnroc0QYrzl7aD1UY0P1joI+d54QoxWmuy4j0JHR53SHYvcz4DDkbvp84jTDGW5L+c8uAJTuR9Fv4m379PnFP49WMiTy60TZz7A+4K7/cRz2p1JMI05bdg1Ct6obzpnL33WiXLWTeWsgPpGHRPAKCfHarp0D42h7JepnMHC+kSiOPRhWHKCkLSeN3hPi/0ObHzkxnyRqK7x3sm5CGme+XaCs2fT+WCp/dIjmnrRel5giyh4CSF+GRKdEZAONE3Qb9hlRm7s30HTZUuAqAN+s27NYjwuvTeBG8GwoG24QIAFIa/Mh+m2A23RZeTUPi0MX4tLDYE8Kajw7m8zHMIEDoXQgIIGHAIO+YOnLPP8v/FhHgQ+GaQ0IqQFNXEPBGn4j0PZmLCkoAKblIS/1lmCqHdMu1oELR4O2BjDP2i3ZlmapCCKyQX/9pPb+L7noL0xatZKz38uCCh5LRx25NFOlT754L1Iggpv9HvZyQ9m2Wff/Ehly2WZqGnavAUd2Ss1gvj7n37lacL36Xsand6nNw38+Sf/W4sWuATWGjVrEf44lClTNiCocOqZ51ClyomZPTnZHuDStUdPr4onnHwKtW/RiKvrXcFUjCeo0Pf0syh//vyOoELdevWpR69DqEGDRo6gQrKa787Hc/hh2RLXFBo+V6FiTCvu118GxGX+nn/RpZ5lg6hVhMWNG2+9M6ErBpTZpl370KIP6tyFZiimu0y4UPVBvEP/3xOhafPm9OnXP1CX7j0oX758ThXq1W9A1910G3364fsEBjgHXf91a10z40jXo9ehnpAC7iGs0KpNO+8PuIaF9euCZXTvebAnpID0BQsVovoNGtK1N91KF19xFS1aEE4g3n///enUM872PwFmf1RBBVjDwB+HUcOHOYIKFSpWdr7B6fS1Zeu2hD8O6MtRBBUG/NCfpk52BdnuuOcBOv3smNDRPQ8+QmNHj3Lq1++l55IWVGjQqDF9/GV/0q5FgDOERxBYYI7bIQXzOC6en0Sswwc1rOhJFL++2zQu8oA4grUPG2Roq8CXqgyndK1PR7Wp4TEdtAUBaBeyoEI6eaOuvy9cWt7TQJVEoNtObhMwtw4CzbnPDPSbIxkyWiuTEwGHq3sfSLUrFicQ9iYJbStslFlQARrnMtzRtw01qZ7lr/a932fQD2NjQlBg6sJ8dSoBdYbpXZiblowwmJINKxNEPmbCgNEC6XT4QkUA00j63oSmSJfdvjs1gZ+FOWHy8rTu9Wn+ik2elDuXjfKw9wIxGljCTB8TevDu5M51PXdZuIdQx/WvD8WtF6C1wGGdMsHN8YmuYf1epsf3hk1b7kdBqBVmubFnPLVbfbrg2V/9d/i9X7isu9f/EakJD5wQ5kMxFuLhwOYI+/00xccfebGfve2kNt7hFxq6b/0y3bFowftdaJjjD4xEKfF/96ntAv2a65Spa7w2w6/rad0beAf4R4UmOAgisJIAQRmt0cNMClm31ZqZJSzBaEID5wOztUvTyvTyD1Mc120sTIT+D7+x7/w6naBxz0GfJzg+2avOz78P8sP9hySQg/EAqyIgFoFlcfHzv/nEokXCVUGq5xgIS8swf6VrSQbECMwLHEAEx3hOdTxGnYfxXVjQixokMS8sL6xWQLtFBwgTnd69flLmOfF7yPUSxPtMhxUb3LMrysf8e+PxrTxrGvd8NMpn4DPxHHMQhAMwJ/3v07GOy5Tl67f6ggqp9hnUAS6KUD6fjTEvQ7gITHQ53jB+eN5KFZv+YxY4bUD7bunT2j8/gwiHtYED5lsWVEEbpbAf8t58YmtqVjNrHcV5W76HIAcsysg2oFxYMUGAP/Ob+7Ty5t9HPx/nCNrhzI/57LHzOnkEW5iE5QCtzTtPie0POV5/h+PxHVgUgcCctvQIk8ZM20hpbROCUfy9VK+5MQby0nwJnDTjgX9D7FPQn/Lny+cR7dNZ8/Adba6Xf/O9ZV+JNmiLIVKoCPMHNAHhrgzpMJ7k2gcrTred1NpzrYJ9sRRUYEJ/lD1NqnMB2pHuGgRLqRwwB8XbX2rBBMz1qYbcGJvp9vGobUv1N5QW3oA/rN8cUDCLxI1z5YjpKwiWgiCo26pOecrE+Y/nBd3GTO07oSAgz6dY9+44pa2/l5dm2dGPsJeOetbTFoRgUQ9Wh4DT/BUbSbozgjAfC9ElO+6j0tGBZbpjUf8e/LxcWYoMU9JAWjBjZaixW9BKxvE9zjAy8L4EDGYZQAuIF7TQvFQeiJcnXnxUvDHeZIh69oo3PyRz1k3lrJDKmED7cnKspkP3QN3i7X9SPYPJ3zPZe7idalazLL3QP0ajZFemsoycni/kt5K9D9sv4bwCQaW7Tmnn0U0gPAlBZQ7Yy3PQfVieLeP1m2pli3nuK6H/AYtncl+D/TvvX3J6/4755+HPXAt7oE/JOUSf+WslmIsYE1xZCCuvzIfptgNt2hP7NImp3UdHIM8JKkASSZswweFfmjGBppPWdtJaL+WF71H4FZTE775d6nl+tRmuFUrIgQ8Y81a4mkdsLpfzYdOLPw7Q6pNBpt9vv/3S9nsry85L9/ARD81sGS66/EpfSAHxrdu2py7de1J2rhxkGbiHNYUDisTMc7Vt39ERVICLhkyHnGwPGJ0spIB6Q/P9zHMvIFhR4AAm8j///BNgNOM9GLcIcEfAmENbHqFYCXcjvHGD23+9RHv4Hywq6FCsWJb/MMRD+1u7bOD00GiXDGeOz+761KMP0cCffqSX3niHwKyPF0qXKUuwAqKZye06HJRQUGGtYuzjt9lTAX0B7j7WrV1DEPpYtnQprVi+jFauXEH/7MqSjtyyxT2ELV3iuq6oWi2m3c7tOOrgrnT2+RfRcSeeRNVrxCzCxBP4qVwlaCXjkvPOorPOu4BOOKkvtWjZ2rdSUaRIUWrYuAl/ap+9om/rcGLfU3SU5wpFWnxYumQJbdu61ZkHA5l2R0BIJew3qV2nLuEPYctfO53spYoFmS+agIoM0nc7GO0wsykZzpBoxub9w0GznPjDWlWn3u1jwmM4/MDsOzOAwLBkIYd08qay/moXF1IIgUEK7C0EE0BrZSIPiGSPntfJtxLQs3lVR1CBpZSRFpo9HIAdCykgrnnNso6gAghH6QZ9IIaUfFiAJhL79sR7uHRgZtQ3o2JCTnh3Zo+G/lgOM2MLCxHsYgFEfrRRMtH5kPjHlKWOGwUQzI7vGLNsAuFUGWrs9juJuMuPbEbnHewK/Mm0YfdMxAx7h7iZQkgVz3071/N+W9yDYAjrCtI6CeI4hAn6wB8ssEIADo2qlXb6BR+IYT5Wan+j3P87tZ1vbSHffvt5+SVhVpsw1d+XB2+uY6av+psoHwIq/NsfWKusNyaY2Yr3/0JzKD952smyPmHjEOb4ZWCBYsRpQhHiTu5Sj47Y7Ve2Q8OKjqAC3uMMccJBWf0LzGspqACM0wmBOWP3eQS/sbT2AF+RLKSA701duNYXUsBz9fKxvVGq5xhY+Kherpjv/gHzLZj4rCEG7UV5PmJrChBGgrAOh2THYyrzMKx6yLWEv5noyvWPl0b/BpwObS28m4HBcfGusGwjQ/mSWVruMi7dex73spw7+7YluCdCaFytTMB1zg0ntCKMJ4SWtcs589B+wqhnqn3GK3j33A7LLhy0SyMwGs/c7Q6C00S9oj9+NtR12wNBA1iu4QArhjKwBRnEvT9optN/MceykAIYAPBZLgNbmwjDHZpU/3daO5/IhzkbihMc5HjQ+eOtpZrpjbJqVSju+bLleQY+wOFOggOYQByg6QY3JVGCtAoFxtLgqbGydTnHdajtWUPS8fycK2NAze1Mv9kT8yXaHbb/PffgRr5ALWOTzpqnmcxY57F3RNib9pXrNrlzJGPz0NkdHXdSHw+Z7Qj9YIxinHOb9Rqux5PGOmxPk+pcgDqnswbht5RrKAj88XYQmO9kADMl1ZAbY1Pjjromu69LpV2p/obSpSGYNHIOxF4fc7kO6Z7/dJ9F+Znad8IlnLS8g73iI+cc5AtYSoEgfFfvmZM560GDWmqY4gx63XEt/TEJi2sdG1b03MMxdmDAQ6Aq2XEP4QYZJF0c8ZqOjrh0xqL8lr7Xa7EUIJZpYXFRBjZ5L+P4fluc8QzLMjIkLGOHawFPW12R5WR3H5VvoffJuh/he4nPXrEzAtct2bNu1LNCOmMiJ8dqOnQPYBb8DbLOGenQRPi3iHJlWgzn0WtsbswX/O0o13j7Cwoj/wAAIABJREFUpYfOPsgX+IWisRRUkBY2dLvlvKDnDNQL52m4d+C9C1xnSr5lJvfviXDAngPC+JKm0rZ+hcA+lWmtXFaJA7JcePAzX6WiNeKYRpZX5sN027Gn9mmMr11TQyD1HXJq38s2FyZmGXCAl0IK8p2837AltinA5MFEfTACpM9eTEBagxAaKDLwQg3hAhlAsFi4arMn5MDSUvK9PpnAfQU0tg4+sJpfHyf9PvKwbJn7m6FZMKOvQ5eu3SMLKhzUxbXCwEx5LjsnrAbkZHsOPuxwrrp/7da9pyOogBdr16yhcuVd4pTU0i9YMMa0YuGF/QvE4lDG5k2uRK//wT14U75CxcDXNaM/kCCJCFgE6d7rEC8ltPlnTJtK33z5uZ9z4oRxdHj3TjRu+hwqUSK+RRO4CZCCCsA8OyZ61aouUx4CJPEETfwK5dDN2jWr6eEH7o0r7BH2WRZ44XctW7fhW/8K4Zn7777d+4MFjyOOPpZOOOkUan5gzAygn5jIs5wAIRxpuQFjFW4N8AdhjoMPPZyOP6kvdevRK1trF7LsvfV+7hyXGI92NKwRsyaSqF2LFi4gWEtIFODeJExIQeeBdjwHEEfdVS7L/5/eEIJx3aGBO3Zrli/uEDm2bN/paU1JBiq+w8xA/iauVcsUJZhg5wApV2gYppq3bqWSpBuSzPorpaCxbwhjfmmGhGSQrt7gaiOgPZce2cwXUsDz1u0uYbL47kMCpMAlsUkejpAPDAYZWNtOxkW913sdFsrU5bSu6woqgEAAQQVoJkntazB2ZL+QjByUCSIsM6r5Gw2qlHQEFbg//jrRtbaDvdPcFRtp2qJ1HnNXlo3fCtL/HDxtogLhhy9OE/UKzVsZYFaVAw48su9oLRRNAAUO0LKSAftaaWmDcZCMbKQ/sVNdX0iB8+vyNUFBMlqAFVvD4Pw5cdWHfWifsk97/h76jwy8x9ZjTI8F5NGEJtlm/W0QBaVw1JZtsTkPZWHe69u1nl8VMO5lYAaijItyH+88os83YBKCyADLbRAMkHMivtepUdb6kM45BuXAasMi0Z/nLt9AOFthDvpqZEzwCMRwdqeS8nhUC0oy8zAIInFoJ1Fgd9IWzJ+PIFyxasN2h0EGVwBYbx4+5yAnfdiD7pfSJGhY+lTi9Fju2LCSL6SA8vRajN+ShRTwfpMiiGO8I6TbZ1AGrHFIqwpewbv/Yc69pU+rhExumT7ePawlSCYfBBRY0IDz6PHN8wO0iUA85YA6YcxgvRo/dzX9PnmJI/gD4TJmlGjtSpRx9THNfSEFPEOgTAaYKuag6xRKEwiZt5D/phNd3DSzgwTtAXNRIiYH1yfeddqitfSZcOUk06GvnCCEAeU7vs+NMZCX5kvMiXrMYR5hq1+MC666D0RZ8zSTWe4h9qZ9pWZiAZdzejVyhBR2/L2L+o92rV9eekQzn9CPPHJ/h2e5z8ZzdnuadOYClJ/OGiSFj1FWYeXeAXEctAWddKz05MbYTKePc5uTvabzG/JeEt8Cw+XqVwd7+0+cT3hN1PWQe3ikiXr+09hkct8JS4MyXHhoE19IAfF638BrIudJ5qynhc5P6lw3gBWEEaU5/0WrN3lnwWTGPeoifxc8Z0tHT3MscvvDroEzhLDKJtNrYaKihVzaqkyrcS5VJEvxQ5eRSCBJMk1RdqK08tth91Hx1nOI7kf4RgA3cRbW/TDKWTcqzSadMZGTY1WvXcAgWboH8I23/0n5DBbWMZKI07+z7gu5MV8kUc1AEt2HkeD0bg18IQU8w7WUDFIwXgsjSLrYyhAa3w0nxIS5UKam8Yntu3c+Smf/Luss7yEMAUF0nHU4QNDsSuEqkuO1choLIPB7vmocSxbNoqnpuWxPzYfptmNP7dMYX7umhkCeE1QYOcPVfjiuffamjjGIJKGDBxcgkaaT8XxOr4Z6bQxs+JgACgKNDiAm4g/EFBzGqorJr2n1Mo6PNNQJUuT4O7hFNTqla719UmABGts6lC2b5fJBxpcsVVo+JnVfpYorBa3N2SdVSMREOdmeChWCjMkyIVitXLE8IKgQsRmef/qoeXI6feXKMb9J/C20Nd1w+JFHe5YpZDkXXz6cjjm0hx8FRnm/F5+nG269w4/TNxCweeWFZ/1oWCfIrs9VrxmzMMAZN6xfR7DQkJsBWven9TmOxv85JtJnteUNuE65+fa76dH/3RdazpzZs+iFZ570/k4+9Qx65KlnqWjRmOYnMuGw9PgzL9LJxx0ZWgaEIz7+4F3vr8WBrei1dz/0rIuEJt5HImcmcB+SXRMXL16UraBCMkIK+A58THPYJTT3OE4TUBF/eo+YyyNOt2Ona/IQBDf4Y5MB5pDjSe/KdKhGOnlRVtT1F8QseViR+wZZN30Qdw8xbntxIGHmIpehCZMgZiNgjIBhylLMM5bE/B2DYPe1YCCCiNZEaJhy2VGv+iBSoUSM+S7LOrC2KyQ3acEa7/X3YxY4e62ze7rMdy1cceJBdXx3CFy+xBxxpYsW8jCQmj2IlyZHOS+uwAJar8xwAla3vzNCJknqHhp/bKYzLIMWDJm+aJ1nih1ph01b5jDAOjd213WtIdGnU13fjB5/Sx+a0B4cPqX5Y6TtIXwNcl7dpySTDPhKjOP1ay4rU1f928NthyQQo23ywIt3YCwiaAKJHGNcP01okkQU/e6I1jUcBqrGCxZhpGlE/R7uTFINic4jkuCL8mHGFH9hAecLmChGSOccg/wtapYljF0OMOcPQQUweSVTDu5lwBjFnJTqeIw6D8MEZ78BU7lqSV3h8/zKo5snTAvN+RtPaOWlgSnOuz8Y5fc/CG3AvDDMkicKWlMqJwQV9FxxdDt3P6kJ4UcLn8uou37P82K6fYZxObVrfc+9BD/z9aYTWjmME46Peh0q3Osgr7aWiDit1VupdNa6BSKdPPtj3rvkxd9Dq4AxDcs0HDRxEgIg0CCVQc6jiGdsca9xl3OwLEP3IVgY0sxJTeguI6xcPffdJGJXNbLcRPcXHd7EV/BYpQQeZT5dD/mO73X9Mz0G8tp8CdPZOkBoMiyks+bpce+uZ3vPvlK7ZMK6DuUcGYZOX+6MU2jky7GEtEvXuZb+mA6Hd8nsadKZC9Jdg7SgUeH945NWF69221lHzTkSt+zuc3ps4vvp9PHs6q/fp/MbgiYrLZxBCAFmzF8fMJWw/z6ybU2H9puZ859r5StT+06c0+T+q3LpItSuvmupc7kaL1qwJ5mznhRexbhtHWK5B0LZMvBzMuMe+aLS0dMdi7Ku+l6fE+Lt/wLjOYHgkTQlju9hb4qghbLjWfHC/lvuM7C+amED3Y5Ez1HxTvfspdexZM+6aEOUs0K6Y0L/9pkaq2iHniOTpXsgb7z9TzpnsET9I9E7vc+WazDy5cZ8kah+8d7puQ50tcNau5aBed7iMpCGgx4DrKyM9/qc0KlxpYD1Gp2mdLGY5b109+9cR3nFmeeJL8fThPkxi+IQwr73jPY+TUWm17SmA+JYcdJzmacAhrlMWY1JJIipy8jkfJjxduTSPk3+FnYfHYH4u+noZWUkh5SaRoHcyRMVricpOclMnBcbyCgDvvJkgO8VqdWYpZmXRTwFgwV+e7RPHuTHhvq2d4bTA2d28CXHoXEIM42DJgctDEBTdOKCNQTieDxpJlmvvem+8AFBZsfWre5hDO3ZuTOmjZKX27evtScvYV2ocGHHbQXqNn3aFL+Kp55xtqdpj4iH7v8/+rH/t/67qDdw2dDz4EPpt4E/+1mHDh6UUFABbjn6vf2Bnz6RqwhOpC0qIH72rJmE7+dm+PbrL0KFFGAVokv3HgThoSJFitCXn3/quw2JVz8Ic9SsXZseffA+xyqCTv/pR+9T/vz56ZmX+ulXnguKH38bQnffdjNJVwY6IaxdnNz7SBoyegIVLJQ6g0iXuy89s9uORG0qXtwlssdLW0yorjIBkBmGyKMPdDBzBkldHeDqQQYQ16W7ALyDNkZY0Ac7MJXGzXFNREbJi29EXX81oUXuG2SdNR6SIaGZAGFad4H9idBGwP6GtahxYIWvuxa1ynqmvqU5N2jVS8aqrF+Ue0lUAGEKGtRhoVTRgo6ZfhAAofH/rdCKQ7+AyTsOOAjKvRTiezR3BQ0Rpxk8ENzQfYnLlFdP27tJFTq6bU2HyI1DpiRQyjzx7tH2REIKyFd3t+l1LuO932d438mXbz/6TuCAsXOEYB4CB8n8xbd6NAvioA/HwAHa35JohcMnWwfjekDjE9rCMkiCgvyNkSZev5b5M3Evf3u0ueNuawBc9jplRl8KUGjtLNkezr9olWshSqbRjD5opcughY000VePUVm2LCeZe12WxF//Nro84NaufkUCs1oyMNI5x+Ab0IyXYdayLBdcXwyf60djfIGJipDOeIw6D8PiXdTxq5lcfiPi3FQuU9Sz7COFQrDehM1PsojAbynmbpku1Xs9V4B4Jn93lKu17ZrtdvnA35TrBOKY4Zlun+HytXANx2c3f3K67K7a72jTmjGXD5x35MyY1QTEsW/p5UowktPLK5g8vQ6sRoceWN0h4un5VwuAoAw9r0iXE5qoy7jLb4eV0aN5UFg78BsKAcKxc1Y6a4IuP+y5UIEYERZERbiaCAuNq2evPJDTYyBQvmj7npgv9X4PwqdagIWxTGfN0+3eW/eVem3F2ot1TIaxs929fYvaLh0Oe5o/VRo5nnQ/kGsqfyeduSDdNaioIvxrgjrXEVeMZxnCGIvyfaJ73YckZonyRXmXTh+P8h2kTec3hEAd6LJ6LwGGH9xJzFm+ka46JibcmInzn14fMrXvHK/o1i1qx85ZjOnImSv41rtq4V45ZjAe9VkPVsTkWQN7Xj1uUbDeC8KSIkIy4x7potLR0x2LXuVC/unzaSItZ43Vjp2uawYuHnSMtcL1DcpkJl7xwq4QLKzKhAVNM6lbOTk6TlhZiIuKdzpnL71/Rf9J9qyLukY5K6Q7JnJqrOp+hXaFnSvC6B5IG5jDd+9/9LhDWh3i0UR0umSf9d5Hzim5NV8kW1eZTs9FEJTUVhH1HlueITU9srxwHa/PCWE0Ps23lEou6e7fZTtxDyGFRz7/M2BJ4d7T2weUgjgv9idyHcd8FsaHlNbpkLfubmXtvDIfptuOPbVP49/BrqkhkKcEFeBPUm6csOjxop+oecHJNcvvMjTtsEnlgMEmGTKIl35l8Fxut7Yj54HgQaNqpejrkfNp2PRlTv0wYXw+bC5dd9yBnNwTbOjSpDJ9M2q+Y9YXCbAgDZu2PCBt7mfO8A00rHMjVK3qSq7hm/PmzqEOB3V2Pg/m7d4QcrI9K1cGrQfAXL8OFStV1lH7zHOduvUcRvmgXwfS0iVLqErVqlS2XDnvD40tlYIFDg1StRqudtqMbLTaweztfUIfXUzC5yrVgv3/048+SFlQoUD+4LS8bZvLFA6rUP9vvgpEQ+Dg+ptvd1wrTBg/zsE/kGl3xEmnnE4nnnwqjR09koYNGUzDh/zhCH1wvo/ef8cT/oAlBh1atWlH3w74zRPcGPz7bzRi+BD65ccfSLtsgYuIb776nPDNfTXUa9CQIJTBAQIkt99zPz8mvALH7EKB/cOZzjpfscJu/8L6KS0D6fUUmrc6wCw+GOscwGTF2rpAMRPLhfj0xposDw1Yl8GgSScv1wOChcmuv7qd2icul6l9fUpioD78MhGH8+KqvyP9nJ/dqxHd8W7MGsDURWsJfzIA12PauvOYfJ/sPfZDcn8lGcVhZUC75ufxi/xX0HqW+bVpQ2m+EJkgaKIPQ9Cq10x2mNeet9JlQqM/1KtS0vMFWKdSSe/AFE+TUzPA/QonuElGkxQMQ2jZsnsG9Nvvx8a00rn4kzvXcw6IG7a4Ppurli0W2Mdi7zhRSMOjLAhGLF7jupsIa/Ofc1Y7Yw95pVsK3d8qlc7aD3N9c+IK7XQZwNDTgjXanLVkNmhigHyHcuFybdk6dz8rx6EmNEhCAfIHiEGK4ay/L/GU7UrmXuPP8wp+czl+UBb880IYBQQB9HMI/2hicSbOMQX3z++VzRox81ZspPkrNjoaMtAa5m+vEcRX1DPKeET6KPNwMgQ5jbseF8B2wrzVnhZbp8aVHc1JzqsJV8A1u6Dn/nQEWMK+pecK2aeRHv1F9hkQwl0WYNBsLMzOZqLP4PtgMP46cXFY1enjwbPobmGhIDRRNpEg8sp9BPqZnjdAINV+rpmAqgmEsJpQs3wJql2xuKfJiTEVT2tSj9MwAQlNuAMtgIMmjrLwBL/nq56btOZrmKUZpnuEzRlcbqIr44M0sFARZqUiUX75LqfHgP4d9vR8qesDH+1hIe01b4N7ppNzy960r0wGL90erHMyTF6w1qHV4Z3DLFBYhe1p0pkL0l2DsL5in85ztXQRI9s5Z/kGR4gV85VkmMi0ydzn9NhMt48n0waZJp3fEHPmI+ceRIOnLPUsUPFeh8uHy6e+XeoRCwTpfsvzDqfnq8ZYrtF6bs/UvlOPl5rl3fECbf1xSliZ24V6J3PWgwsHGeLteecs2yiT+cqDGr948yQyR6GjpzsWncqKB30+1b+VSBoQ7l6/2T3fcNohU12lRLaAhvfynI/nMEs9iB+k3F23CbFqwd9L9hoFb332iXL20vvXKGddbkuyZ4V0x0ROjVXdr6LQPYCBHkc8D6V7BmN8o1y1KxxJv8nN+SJKncMwDKNZjp3lCks2EkK6st1Yx7Gec9D9RtP4woR12NVmJvbvXA9cMa8/9OlYX7kJcdhL3ZNASAFpMLdL+gms5h5QxqUDo676vMMCcnpO2FPzYbrt2FP7NPkb2n10BNyeGj1/RnMwkYwLxcCBZpqW5uH3fNVEyEqlsjT8125yfTwXL+wyckAA+WncQi7Gu/IiISNBFLv48CZ03iGNPNcOH/4xy389XZhr5sgm1csQ/jZu20FvD5xB2CBzABNCm8Xjd+le4TseZtk5LFvmbqI4PtNXMJd1+PDdtwna8RxgYeHzjz/kx1y7hpnt37bNJXjryuRkewYO+Mkzqy+/+ceg3+Sjd1+6TFCrKJAojYiFC+bTt1994ZTQoGEjOvSIo5y4nHiAOwWtYf/Gqy/Snfc+mPHPLVwQ87+MwrcnwfCPWonmLVoGsrz9+qt07Y23esIX+iUEU6ZNmUKdu3XXr7zncuVdE3+IXLEs6F5FZ166OEhQvu7GWx0hhZ07d9LUyZN01rjPGD+wDIG/a264mTZt2kgvPfc0PfGw+1vNmjmDwgQVuGBYpsDfeRddQqjDT99/R+efeQq/9q7Tp8Ysazgv9pEHbZ2jRMkSdN6Fl2TrWiTTzdeaBNC8kIIKwfU0yOj84U933ezcJEuwCowGGXbuwjbeDTCbLwNr+6WTV5aX7PqrD+i8b5Bl4V7jITft+vCsiRPIrw86Mj/aDn/VL/0w2SFgAgsWsmxTt0K22v+6zmHPWoNIaoeGpW+lBBXGCF/g0AIDzjJonCSzhNOB8cXtQhwO9Z4WitAARXybehXo8qOacbaEVzCYnr24a8I0+iUOo8mEa45tQW/+Mt2zcBEv/UGKkaEJD5oxhXKgRSNxQD+Af1wp9Z71PXf8YE/89q/TnaqgLZK5p/u1ZIA4GTP4oH/7MCJgIs0dTRCXxGBU84M/XCFXnBWkH1eJG8aOPkvos0ApYVod5evfTI7RqDBpLHheUUqmXr+XpujjfUfXPdVzDIRumHgPvAaMj+0XgCXcYXAonMZ45DKSnYch6HN46xqcLamr9JEJizQPfTbWZxLBSh4YEjpMWxxzrYN39avEmM46LT9rk56ZHku632kBDE20Z7dBXL94ZmMz0WcgAPZc/4n8qcAVuMMlQTzLR4EMIRFbt7tW9sJcUX2oxj6K4d+hkNpv9O1Sn7ru3ouEfM6JknMG+r8WZMH5XTODJCMigHEc60TyO6iA3n9pQTspRId57MXLuhOUOJINEGSRBOZk88VLl9NjIK/Nl7o+ECQLCzpd1DVP55eCLnvTvlLXFdZrdNBjRY+B95T7I80sSGZPk85ckO4ahPZi3PJvir0d5g/t9m7QJJcm16t5bM3VmCXznNtjM2ofT6YNMk06vyHKwRwOq1D4g9DvM99MdCwsTF+8liqWyrIapfsU79NkfXDPvynHy72hnNszue/UddPj5YthMUtYXC85fyRz1tNY71SuHFEuhPGk2yGMS96DJDPuuW64JktHz8RYlN/le/07hgk7cVottLFglSuswel+V9aTewoLgvoMoxUxUAZ4EHB1wQHrPc6+mQjJ4p3O2UvvX6OcdWUbkzkrpDsmcmqs6n4Vhe4BDHR+nocycQaTGGd3v33HLsc9k9yHIm9uzxfZ1Ve+13NR2G+glUw6N8qiWWIMylBGuG1AvBRiwPjUOGhhneLCYm0m9+8QgnzgkzGOSyDQje46tZ2jKCPbwvd8XuLnhas3k96n/TlnlfP7Q4GIhbzzynyYbjvQ/j2xT2Pc7ZoaAslRa1MrO3Iu+GXSk6PWpECh0MiDZDIHvVjyhk37hIK0Lgi9HF77earzjHgplcrp+Api8DHtanlaUBwnCWYcx1ccUq48prlDNNUbTk6biWu1Gi6x77OPPqCNG2M4ZeIbYWXgdzv40MOdVyOGDaFnn3yM/vnnH485fNUlFwS0qJ0MOfRQrrzraxufgQZ/opCT7Rn/5xiCZjkHaJK/99br/OhdIXASJmDhJErzYdKE8XTfXbc5f1pwIc1PxM1+wcWXBd4999Tj9PzTT9CuXTELKGBopxPgNkL/1lWqpUcYCKsPBFuuvPaGwKujD+lKYOBzwFj45acfqGv7VgQ3DfFCmKAMXCwgf6JQolSQ8L5mTZZvec4HAQFtzYDf8RXWLQb80N8TKOA4vsLixDXX38yP/nXVStcMIV58+N7bod8qUKAAHd37eOrc1RXUWLkiWIb/gX3gpn7DRk4rgPNrL7/gxMmHNatX09OPPUyPP/yAjE77XpuW1gfA7Db9s5ZuCFgiYnN/1cu5Jobn7DYxzpUGY+XToXP40bsyUymdvE6Bux+yW3/1vkETFrhMySwCoUYeVKRlCKQvoywyIU4ekPGs9wAta5ejVy7vQc9d3JXuO6M9PX9JN7rq2Bb8+YCvS/9FxBstMKE3/bq4JtXim4U+u6fbl5E3O6IphE7f+GWa85kjdvsRrFrOJW5PWrCGYA5YB5gF/WrEXOfwCMYMiGdR/jQBWX+Hn8HwgcDEW9ccTP87qyM9em4neuPqXo4rlG07YmsW8mnCgz4042AcxCFr78YHQ/4+m+jn50+HznaskSBeEk7Dvh+vX3OZ+goN3+HTl3tWwaB1n0zQbQ4TgtFpwoSC+VsFhSDJgHGLfKsW/F5aA9GENv1tMPmkUAgEn7VWuiRG4BsQGkk16HmFzyPYV0KDkgPmBT0m8Q6aV9+MnOefcTJ1jmlR0zW3PWjyEq4KgTgMogqHdMYjl8HX7OZhJn5HGb+scY5vwOUQa7LiGQQpuKmRAfOGFLTCO63VK9PzPVyxyKAFXOS7TIwbPSfr/qHPp3JtQl2YiZBun8Hc++gX4xxczz+0MR2lLPt8MmS2hCDyfRGlPIDfUa6p0LQOc6XIc5r+DbWVGq4QBOTQL/j8r9dkxo3TY+V58fvJ/OhdoTHKaz/KkXOKpltwRj036bUf6bSlGd0HsCZEGRthexCuTyrXKGMA+ztYYfrxz4WkmdPxvp3X5svA/ldZ3+F26PVMrztIp9PINS+oqR3zayzHAMoJ+011H9Z9a0/tK8OY2Xo+gjAZh4ETFgcsSWlmgcaRxz+XgWuqcwHyprsGoQztHm/wFFcgG5a54AKWA9ZbuKThANPwv01aQj+MXeDMgfw+7BplbGZifYrax8PqnCgund9Ql4vf49IjmzrRkomk552wPoXMco2V5z89t2ts0tl3ah/ii1fHxgusi2mmG+opLZDofYNeU5Ae2u8ygJEuz1xYA9/9zRWKPqFjHT+L/kbYuPcTi5vs6OiZGIvic/5t8HwaVMDgxBA6wR8HuHeQAhuI/3jIbGd+h4spMPc4aHyHTlvm7z+QBnuIx7+MWdhE3CFwT5U/xpZJZT3l7/M1O7w5HV+jnL30vBzlrMvfk9dEZ4V0xkROjtVgv3JdYSeie6Dteh7i82Imz2AS43j3wXq47dD9Obfmi3j1lfF6LtL7+f5j3DUVeyW2jiZd5KBMOY9pIQZJd+Dva9xkfqTJxP4drqTu/Wi0I6RQu2IJgqKDnKe4Tvqq11XsuWTAXv3lH9zzznEdavtJ8sp8mG470KB092koA9Yp0KdgkV/SHnzA7CajCOQpiwpoGUw2jpsbM50LpgZMtIAYiwnl9Z+n+UTL/zutHTWoUirg85g3nJroiw71/HeT6Mi2NeinPxcFCFf4fsWSWZsXHBqe/Q6ax//SuQc39icvEDRhNpUDT3bwiwatyHqVSxJ8pTFBY+rCtc7mBPXNqdCocVOHMQuG5CFdOtBRxx5HUkv72ONPpJq1YpPQm/1eoS1bXJPD8+a6BKgRwwZ7jGRZ94qVKtHJp57hRV11/c008Oef5Gt68J476ZnHHwllVjoJc/ChcpXYQZA/c8v1V9HAn3+ktu06UP4CWUMAghaNm8Y0OHOyPSf1PoJu/7/7qWixYvTC049ztfzr6Wef59/vDTd333YT4S9RePP9T7x+iDRlypajq667kSCcIMP9d99OTz36EHU4qBOtX7/eczkg3ye6/+Ddt2n0yCwT6uvXr6NZM6Y71kU471HH9ObbjF4vuuyqwPgAI7pL2xbeWKtVpw6NHTUqqbEARn6DRo1ppnBT8fNPP9BxRxxMXXv0pCJFYky9S664mvbfbfK/SdNmNERZ53j+qcfopjvuppIlS9HI4UPp6ksvzLbdy5YuprNOOdGzBnHx5VdTx06dqVbtOlSyVGmCYA2EJnQoVy4oEHTt5RcT/lDHI47uTbXr1CW7GjctAAAgAElEQVTMGatWrvTqMnTwIKeYChVdE6v4Hd976w0njRRk4RdffPqx11/4GdfWbdtTpy7RtKxlfn0PAZPp06Y60cOHDXaeMd9C2EYH/o2OPKZ34He969YbCTj06XsaVa5ShTZu3EgL5s2jSRPG0QfvvuUVxXOsLjfV5+q7fUxy/oXKBKQm1A6dttxbZ/Pl288TEtRalvDZxgyUWhVdQQVojsO3IIimILC8+P0kh3EP4n/dSlmH+3TyprL+btrumnOcvWwDNa5WmibOX0OwEIEDvmZIaAKqNvvHJt8Y2+yIyZwOWpUgOm7d8Tdt3b6TpiyIuX+ASXMwL0sVdX1ect5kr5KxgjzzV2zyfgswcZrUKOP/hlweCEbYzwAXGYCRJMjwO31gA2F2TevtHpNl7oqN9MoPU5zfHhof3ZplaTcBN2i1gjCDANz6DZhGcC+BQxL2Xd+MnO9bwPp14hJ67LxO/j6L65ATVxAcl6zdQpu27vBM76GOy9bFCIdgzJx7cExwQ+OA/nRE6xqeiV/g8NL3rvUM4NClaZbfci10ACLHd6PnU7emVejbUfPDCZSKkaJ/Z2g+Q2Nl+IzlAT/tYXiBQQdBBYSPBxPd0beNlz8sLcfpNlcIcfmSyKe71maGT2HMK2CmQ1BBB4mTJpbx/p/zaBOaegwDL2ZgIo9m+HA5yV61L1JZn3qVStGoTTGBvCe+Gk83Ht+SypYoTCBG/DFlKb372wyvPvmH7UcPnX2QY+0GdYhyjpF1blg1/OyB8dWrRdY45PSpjkcw2HL7HAR8wShmYRPgc/9HY+iKo5t7AicQbH9zoCsgBa17KZjB7dZXLhPxYQIuMn0mxo3sKyhbjyvNDNHvmciZztkX3wURXhLmD6xVjg5uUY2wTn0/Jub+BhYHsF/AHJZKgGgMcMU8x+G932Z68/7khWsDxDOkwbqEtRkBxDoZ4FqxSbUy1L15FU+7FnuOd36dTmxNA2seBM80bphDME9ijIDo+fGQWT6dAeWjr5zVs6H/Ke2DftO2LKEjYIazf9MaWdaG9NykiZgoMEDoThFLv3IZvkl2DGAOvenNYf44/GjwLHrhkm5UVAmj6OrltflS73/1mOT66z4Udc3TBHL5nb1pXyn7hxybjBOuYGDJdC/0n+TtmeYu30joJzpozdxk9jSpzgX626k+H9uuluOiBq5xqpQp4rl0grbim0pIF0xfnqchRHDrOyO8uRTfh9XWJy7oHBBC1XWTmObG+hS1j+v6Zvec6m84auYK+nrkPM83/CEtq/uCqNqUNdzJcUj3/Kfndjl+8Y109p1gessA4WwIuRYskJ9e+D5oERPjTpor1+Ml7KyHfZ9ce3GuAb395M51vfMm9gDSohD2xVDU4yD7XrxxH5WOzmXnxDU4X7uMWP3NI9rU9ITiOf6Rz8fR7Se38awbwh0WzmUyXHyEKxSD3xCWBzHHIWBfiv0+XB1A+OWzYXOcszUwPLlLXb/IVNbTVPBO5+ylMY1y1o1Ks0lnTOTkWNUYRKF74MeOt/9J9QzGvCe/IyV5ozGSQpUoIjfmiySrGkgm5yK8hHBzj+ZVafuOnfTbxCX0wSDXIuOFhzYhKA4gaEUteZbRezR9/kJ+LWgs83sfSPMf5vJ7PxztnMdQJNxbfDJ0Nmn9RShZHNqqOklaZNemVXy6AvJOWbjWm9sgGDVr2XpPcUauGaDvSetxyLOn50PUIRPtSGefhjpASOHGN4bi1gsQPr3/jA78aNccQCDPCSpAu1JujkD4urbfEI9QIImJwAImk8D41xON3DBqQvuoWSsIfxzkRg1xLBH43qCZ/qFj3NzBHmEe31+wcpNP1ATx4tj2tQmHjMe/HO8dMrApgVQ0TLIgPW9SUDakvNrWz4xZJ66/vJ574SX0ygvPyiiPsQhT7TI0a3GgI6gAjd3Vq1bKJIF7MF3BSJahTbsOvqDCQZ27UPdeBzuCEkibnfa2LC8n7stXqEDaJQa+A41x/HGAtroUVMjp9vzv3rv404Hr6WedE4jb2yOkpDbaAsb+h++9E+h36C9a4CWZto8dPTJbwYZixYrTaWedm0xxkdNUqlyZbrr9Lnrsf/cH8oK5j78o4YprrqdrLrvIyQJ3GdplxvkXX+oLKvQ85DB69cXnnDz9Xn6B8AdBpezGuJORiDDm77njFh0d+nxQAqEAzEl6Xgor5ODDjnSi169bF5hznAS7H8Do10IP199ye0YFFWBt5KP33wn7vBOn50i8hAURCJPg77Gnn/cETmQmWP7AX24FrFs49LHPsiFTl9H5hzT2TR9rLR0wC/GHfHoNxpoGwTwOeAYTaPDUmDbRY1+4WgOcFgefs3vFGLyp5k11/dUMSzBEmSm6Y+c/dFir6gGNZ94foA3Q2pV4hDE4gwedmNYcDldfDJ9LQ6cuc7QzGR95BaFKMsPlu2Tv5cEFeWAa9bKXsoSFcOi5+cRWgaJa1y3vEFOQQDJsZAbtsxtm5q9+dXBov0FfgluFmA430dk9G9LLP8bcvyTqd//Svx7hJ9VDuax3vHsQOfH7SIZdWFoIKpx4UB2fwa1xQP4rX/kjLg7X9o7hAGKk3pOCaC3djWGcSI1LTdRHfhkgPc8S9CBKQWgiUYBwkQzYz2o3H/I97nWby5YIEgE1QaeCSIN9umQQQVIdfxz03COJKIFyd7t+47xBAoxbt6CZ3NgY5TKiXBOdR07tVt85f6BvXN0vfIzgmyy4k+o5RtYbhGxoJLD7B353Uue6oa5loo5HMG/31DnopE51CRbyOGBuu+2d4fzoXDF+Lji0iRPHD1e8/IdH3MKzdkMAZvoFz/7KSempi7o4pr0zMW7k+oIPyTGBZxYI5EoE+rYQWkq1z0xbtM4TiuJvQIDsiqOzhLjhT71tvQqe6xp+D4L7FUc158fI12Y1ytCIGbEzuT6jY58A36y81pYTVouAx0GNKvmCVfg4+gH+9JyBdzye9JwBIt19H40OzYN8WHul1QS97qBu1/TLElxFfV+9sqdXlv5OGBFz1UbXakcYMzAyqGlkSHUMwEKAJBiDMQMGLYiLiUJemy/1/lcKxcl2pLvmSWEE9FV217E37Svh3kAGOTZlfPOaZR0T52BS/e/TsX4S7HugtcyhYml3jU5mT5PqXMDfTPfasFopT1sPaw8C5gSsh2EBc3NvobG4Yt1WZ65H3uHTV1Dv9jHGMMpJdWwibybWp6j7urC2J4pL5TeENujz/Sd5eL81cLq3Z0c5G7f+7WDauXFlZ71O9/yn53a9dgfWZrUvTbTvhOA4CcuDWJ+khR+sMZKxpNuS7FnvnJ6NHMEHCHvgLyxgjcc8hZDsuI9CRw/7ZjpxOJd9JNw0Yw8hw6s/TfGEGBHXvXlV7/wp3x/VpgZ9O2qev+/A2nbzW8NkEv8e2sdhSognda5Hj37+p58OSgdXvOwq6PDLG45r6a8BiEtlPU0F73TOXnoNTPasmwrNJp0xkZNjVWMQle6RaP8T9QyGPZfem3L/yu6a3XyF/Dk9X2RXx7D3ei5CmtcGTPUEA/nMIPNBOapNvZhiXaBviDNU4LcRNAsuU7u0lPxHTpPO9aFPx4bSoEATjBcKFcxPR7Wp6b/GenFYqxqetSaOhFCatm6LdzjvXX1MzKIrp9/T8yHqkYl2pLNPQx0giCQDeLwQ4MfZ2ELOIBCzMZQz5UcuFf4uj2wTJKTqCQeEKZbuXLvZPehL8yxn9ohpQejKdGpcifp2dn2ZsoksKWCAfDB3jThZj4sOb+oxfEDAkn5qsFhwev4mpCVv7tPK1wTh+Exe69St5/mRz2SZUcp6+4PPqPcJfUKzgFEKRm5uB7hQeORJl3mbbB1yoj2nnnF2ws+jrrA4sK8HaNb/PnxswPx/vHa379iJGjRsHO91tvFVqlal9z79yrMMkG3iFBPceOud9MxL/VLM7WY78aRTqGOnLm5kNk+9DjnMFxzSSaMKKej8iZ7BfC9a1DUjmCh92LsTTz7Vs6QR9m5fisNvmup8lEkcOjSs5BeH9WrcnNX+M7QDw4Jc+/AejPn7zuhA0gw34sHIlkT9sLKgaQBGD2sUcZpU8qa6/oLhEi+wtoQ+vEmmcHbm5lC2Jnr7+4sVGz0mPhjIkuAUrz6Dp7i+beOlSxRfu1IJTxs1LA0IKFKrldM0UFrYEGioWcG1msFptcY8x+t+A2LXbSe1CZQDhgbK10HnR50eOaeTx9DXaTPxDJOnT309gZ7+ZkLoATHsGyNnxhhtkXA4uY3j4x1S/npPKr+H/fE1vd1DpPa12qZu7BAu8+JeakPrd/ysmQ07/nYJfJxOXvU4kWZoOV1AaEdYXTh8twsQTiuvODjfdIIrRANCNIdEhAak0XXjMcj5db3CmImcNplrovMI6n1G9waBYnQfx9z64FkdfcslqZ5j9Iea13LdP+DgDw3EsBB1PKKMPXUO6tmiqq/FHtYWjoOAHiyE4DymA3y0ghiN+Rh/WBd14He4ard/qYwbPVdopqheP7J7L8dFKn0Gpk61OeLrj2vpaMX37uAyz2DFAISaVEOfTjEtQl0G+uf/ndbeOTdLISWkP6eXK0TAZegxBbrCDSe09F7rOSNeHsRDeaJXC9cyH9aweBZK0DfAoEfQ36koiKD8Td0H2CoGv8/NazpjQLq14TpD4DO7kNfmS7n/9TSFQ+YKtEmvK1HWvG07djq0JLlf3pv2lRoDPTb5t4fLmLA5F+9B2L/heHd912t0snuaVOYCrmMmrlcd09wj9CcqC/vX205u4zN9kTbM1SfmPhnSGZsoJ5X1Sf++Ufq4rHuU+6i/4dK1W52xBGtsoL9KIT+s+xce6tKP0j3/6bld91mNXeD9xm0OLHLfCaa3PntxYqw995ze3ulnWkgi2bMeaOCt6gTPXPwtXLH/vv/MDtSsZpaVIMQF2hbHClAUOrr8ZibuF63a7O/lsCbr/QC+wfs5ttAkvwtLQJcdGbOyK9/Je8xt7L5SxuP+wFplPYUHHS+f8XtCaF/vzVNZT1PBO62z1/qtsin+vcbaO/OLs24qNJt0xkROjlW9f2MQQjEIoXsk2v9EPYNpgT6uSzLX7DBCGTk9XyRTT51Gz0X8XuOPeIwxWNqTQeeXc6l+F7b+aWGGTAoaQ+hFWzSVdY93XyBf8Hzbp1OdgAU6nR90h3tO+3/2zgNeiup6/FdBqnSk96KAdBCVYu8l9hKNxp5ojPmnx+SXZmK6SWyxRY01MSZq7L2hUhRRQKoUpfcOgiD/z3feO7Nnzs7um5ndfW+BuZ/PezM7c+uZe0+/5w4LPWqspvGh9LXQcVBPUj6NspaO8yyKnCP9T6/xIZA9m+PXUfQSKFiYSGE7FDFwsJBOO7jirCw887RCiTJ6lx4hTL59yoCAkATRxMnhquP7eswgvyW1rFQkcKzEqQd1yzr/hbyEPv7TJSO8naOUo01+s7ND18U7hDNC0Nx25aFZZ6NIm8W8cqTAw/990p165tle6PawuuvUCXr+NGyYCSUflj/Xs3r1gjvP6jdo4O6490F3/7/+6675zve9UP9nnnOeZ5h74fW3XYsW2Qp0drnHSXXqxg9/Tbj88ZOmeyHoMXhjtI6SCh1PrT2DgiZtHn7U0e7mO+4OHMUhfbnj3gfcRZddIT/zXuvXz4SGq1+/Qmlvhd265vvoCjlewKY6dYPzwr4v5HfdkLqJdvHIE8+4b//g2kCED90O3+rWu+51/3v+lcB3q1MnuGtUl+Geo00wChM2/4FHHnPvTp7piJKhk5579SphqN8nuccR5bV33vOii+j6dV0DBw91Rx93gn6Udc+3+O/TL7jf/ulGd/Sxx7tcddk59uebb3M///XvsurjATB5/rW33HlVRJXo0LGzu/zr33AcP5EvsZYe/Pfj7sJLgpEfpMz3rv0/R558ie/LGG/8251ZyhqLp/LVY9/V2Ss3nkgyz/OtJdu2/W3XJWt84tTZOZ26pDzfi8gaHB0Rlvaqk3uMYfn1s8P7BXHgCxM/9V6zK1YYfGjX9V850B3at32ArkHjThza2d10+ajQ4whgaP962UgvdLtVTmJoRai/7rxhgd0t0rckZZPSX3gDHCMszYa+//CMwV6XVm8MGmA0k6qNcmQO86S2Rz+QB0P49Y+858OZsgikGO9v+doh7qYrRrnrzh8WMLyhUNF8jsArzhXFJ+NC8aQTO4y/f/qgUMP/yx8Ez7ILM7JKXdbge/5h+wb4LvKhFGNu9O7YTIoFrkR1ILpHmMBNlKqrT+znnctnxxCopMAfL02cH9h9Rl+uOLaP++2FB7nbrzrM/eGi4R5PqZtZvCqjsOGYDhLz6rJj+ni7ca3SGTjcePkoj5fU9XB/5IAO7suHZKKUSF2nHtjV/forB7ourRoHeGM9J8nLDpmq5rVtU/++8oS+/ln3PG/fomr+UO+kpUxYiER73mNz5YHO8S/w/Hotoqg7dlAnb7707dIicAa1HrNdh/odfVmzKfca5r3e2cpvW55nUVNV8gj1oNj82bkHeE7Otl7GTOjdm68YFRhvUjnG1t+/c9BRATkqTEkr5eKsx6R4WNoq9HrtmYPdBYdVHBVj6wLHXX5MH/fHS0bkPKZgrZkntg79G/yj5yrvkq2boFOgPRpg9cagE77Ip9IX22f9PsmcIRIBtEYSc9HiatYqR0HoJPyDfhb1vl3zhl5IZYsj2flE+PNO++ztBipjinYWpA1CnUJTwJuW3+A9fYWPQa8gkr5VLqIP0MZiytEv9AD6rFY9pm+e1D/gZMY7xvCVw/Z1RCIiZeEm5WAlda3ZZOaAcuCSPNV1tfMpX7t2DRARgJC6+hsAw3yp3PCl5n/pt92prMdSCM0THkHq0+vezply5ist7dSOUjI2rqyL31xwUICv4DnGYnhd1rhef9ZZJypPkwQX6H4Wet+h5d7uhktGeBGoNH1gTYCHvn7c/qHnSgO3Q/tmIo9gtD5E/aZfhaxNyiejT0HeKS5flwSecb8hBnTmEPTOJnh38DHHxOmjEchXbPnP8o2F8p0/PH1wlvGa87WRnYmM1V/RYEsTWW9RZb3vnTbIXXp0tswFz4SD3l8uG+m6mSOWoq77OHp0++0K/W3xc776LPwkLzp95pY9dgBel3fw8flkYurB8Qb4UkYn6uR4O+A7bN/gsafkS0JPk8C7ENlL6FhcWTeprJB0TViaWsy1WojeIwr/E0cG0/Mr7r09gqJ9Dt6tlPgibp/Jr3ERdPOvl4/MogUVOpz93Y/OGOxHjpW2rJO15rcszdXylZS3eEaXlzxJr9ZRImo92tlCyoBPfnneME9O0rIWaxf+isiKN142Mq++pybxYTHHkZRPow8DurX0dOLSH66af9fP0/viQGCPbdu2oTcvWVq5KaP0SNIIShPCxNWtXcs7x1UvsDj1MUhCKX3xxQ7HDjQtRFRVD8gCgwVCa1UTkvOMCQVEiEnagelOUwUECGWvw6dzJMM770/ZacFTyHg4amL61I/czBnT3H69+nhG4Vq1sh0bdlrgJOj4unVrPZisXbPGNW3WzPXcr5dr2jTcoJWg+movwnEXCxfMdx/Pmuk+27zZNWnazHXq3Nm17xC+g7GYHdy0aaObO3u2mzd3jnfkQP+Bgx3HU8RNq1aucAsWzHerVq50n2/d6rZs2eLatmvn2rRtF3kcmzdtcnPnzPbqWLt2jWOeN27S1OtPp85dXJjTTNx+7qz5t2/f7hYtXOB9q82bN3mwwYFnn1ZtAo45pRjftfePDewYx5nOCtPSLvRz0cqNrk7tPUMN8pIv7Aojv/GzCnoYh+5SV9yySegvDgByDAZnytauPP86bCzFeMbxUT9+YKxfFV7qYaGzf/rQOP/oKIwCd119uF+mkBuEY3gaQgy3b753VkQMqZvzvXX49GE9W2ft5pe8XC/8y8u+8wV82t3XHOG9RpBnNxgGb3sepi5v7ymzaPVGV3+vWq5Zo3pZTqM2f7F+E5KYM/wk3fr1Q7MccjjPnFDhklBE2V238k6uHNcAXxgVDh79WLXR1dpzT9emaX3/TEWpr6prIfOa8O+//vd7XhO/v+jganGypTHBM8z33SGUHk5hC1dudByX2axh3VAHHf2dC5FjdD1J7uOsxyR4OEmfcpUBtyHvMY+Qw+LgnVx1RnleU+smX99qcs7k61fYO3aTb9ryuWvbvGFeB5qwsvIM5fnK9Zs9XoY1FUbPf/3Ie27agtVSxNtogOEAZyroFUraqCF0UXTSbxSUTRsGjRF+A7vRDWebPzlurkev7/rm4UVdezsTvqzuT17TfGXU8cLTr9mwxbVp3jA2TxeXp4mCC6L2O24+4d9wBNS75fPVA48InUUOkTO08+WP+64c6VNVY4jzDYHdsrWb3LYvdkTG4XHnVFX9LfZ74buIiJFLPs/VZlRZT8oT6WXlus88R2MbKVHyJL3G0aMnbaOU5Tg6gh3OSb6D9GsjfOmaTZ48FZW/SEpP48K7mLJXHFk3iaxQyJqQb1Gsa7H1Hvn6JeMuhU7k+/e+49naaB/Hunu/daTv2JurT6XEF7najPqcebVg5UaH83/j+ilfbuHGGkXewUk0iXxcU/iw2ONIwqfRh588MNbNW7bec0AlWn6ackOgRYPCbJvBrXW526mxNyi8rTdnks6wk8J6RUatBwVEVC8plCJRdqBFbXtnynfdT691W7dsceddeLHr0zcYXueFZ58OOCkwru49s0PgltN4SzkedlkDIwunchp/dfelceMmVe7Ar+4+FdIeioYOHTt5f4XUk6RsgwYN3f79+nt/ScpLGY4hKfQoEiKTpPNcIBq84rTRsVNn7y/4pvS/Th7Wxd36zGS/Ic6E1+em+i+c8wSWpHSNnVJ6t5Sut6r7uGWT0F+EMpj16ko2SsPUT1d7Bn5x4kAZzzmhOoyjdz6jcw7ha4w6zztfn1s1ru84j80mhBIUp9l7OII573k5c+Y7b847NLjLX+e25yrrnVc2XLkul+8eRVkxeL98bYS9sx72k+etCJyzvXjVRnfTU5MCRffvFNypHnhZ+YMdSi1iBJDy6EeL5PMy6bxG+XDT0xXjI7oIu7iqK8GnJ8Uzxe7jnKXrPCeCKPUO7bFP4HzZKGXIw5qPg3sKkWOi9ilXvjjrMQkeztVukuec0cwukepMNblu8o2zuuZMMdZLxUaAYKS+fGMLe4ezQFUOA0vXZiLgUIeEdGVjQdzNBThU7Q5OVWGwts/mLV3nOSnw/JSDuiVSgNo69e+dCV/qflfHfU3zlVHHGJen1/XG5Wmi4AJdfzHvk/Bv8IilStVJn4ohpwgc4nxDeBSi9sVJcedUnLqLkTcO32XbiyrrSTl23bLbtBQpjh69FO0XWicOR4XKo0SMJIJB1FQIPY0L72LKXnFk3SSyQiFrIirso+Qrhd4jX7tVjbsQvLtqfSZ6W99Ozat0UqCfxcYXE+csdxs+25YPBN471iIR1/Il5hVRONMUDoGKNZqc36gJfBg2kkLHkYRPe3HifM9Jgf6cMaIiun9Y39JnxYFA2TsqFGeYaS3VAYE1q1e7h+6/1911+63e0Qbduvfwdsazq3vm9GlZXTjxS6dmPSunB7vaeMoJtmlfUgikEKhZCAzv1cY99s5sP5rAhNnLczoq1GxPd63We3UIRolhhxle+YRJRhAlcoUOv40i7auH7+cBgXMEb38uWhQiQqJynESSNHneSu+cVyk7sk/bvM6aK9ZulqzeNapjZ6BQmfwY0LWFv7OALt3+/EfuwTdmOsKDEhGBCF86nTCks8sV8ljn21nu73x+quPIEubd1ScFHU53ljEUo5/gxolzVkSq6rcXHhzL4SBSpWmmnQoCu/u62ZnWiw4Xy2YIlJppKhwC1z86wauE0OQnH9C58ArTGiJDYGfgKyMPJs1YdAhUJ32qLjml6EBKK0whUEYQSOlpGX2MkK6Um94jKd5lc4zWOR0/pGZ4txufmhTpiFMcVqtyVAj5XOmjFAIFQ4Dou/e9Ot2rB91fHMezghvfTStIHRV20w9f6mGvWL7M8ZcrDRw81J117vm5Xpfd811tPGUH4LRDKQRSCFQ7BC49po8jDDKM/1EDS38kSbUPsAwbxDBy1Ql93d+eDTocWAM4XSd0+fdPH+SaV+60Ipxj1NS2Wf7zoXPVQwjIu18OOhaeM7JHruzecwRkndo0q69/7lT3Zw7v4T6cuzLgkLBh8+fu481rs8bBsR3nHVbekaGyOl3Fg33bN3ET5y73zsJNGgmliiZ2itcc4RY1hZ0JGbVsmm/XgMDuvm52lvWCsxmKWUlCW+V3ek0OgZ5tm3qh1zm7m51Kaao+CJQ7X1l9kEhbCoNAddKn6pBTwsaYPkshsCtBIKWn5f01y03vkRTvcvwNR1fWrrWHG9C1pdu/U/NqBzxHCdCPKElH7IySP82TQqBYEJAjOgd1bbnL6f6KBaNi17PHtm3bMhJ7sWt3zq3ctL0EtaZVliMEvnP1172IClX1beShh7s//vUWR8SFck672njKGdZp31IIpBCoGQg8P+FTd+B+rdPwxdUMfkJlPzVunpswe1nAcILTCILYkQM6uGMHdQzs9iTUIBEXoiSiGiQJSf3p8g3uj4+/7zVRa8893SnDurrD+7fP2yQh++5Rzg3njurpRvRum7dMOb/c8vl299qkhe7ZCZ84zvLTCeeRnu2aOsYYJ2y/rqPc77d+vt3V2auwc+XKfYxV9e/T5eu986KryodBrme76OFcq6ovfb/zQmB3Xjc7y3rhzPOfPTTO7XAVqo8h3Vu5i47stfNOujLqOWeif/HFjgDPUkbd2y26Uq585W4B/DIfZHXRp+qQU8oc1Gn3UggUDIGUnhYMwpJWUG56j50Z7zLXP16UvRkk7ANyhEq5HBEZ1r/02a4Ngerio3YVKLZoUJguMXVU2FVmQhmM4+NZM91bb7zu3h03xnG/bOlir1d77VXHc4wu4iUAACAASURBVEro3LWbO+qY49zRx51QBr2tugu72niqHnGaI4VACoEUAikEqhsChN3jjEDOVm/coE51N5+2lwcCO3bscBi3+EacZZ6GCc8DrPRVCoEUAikEUgikEEghUOMQSPnKGv8EaQdSCKQQSCGQQiCFQAqBFAIpBFII7HYQSB0VdrtPng44hUAKgRQCKQRSCKQQSCGQQiCFQAqBFAIpBFIIpBBIIZBCIIVACoEUAikEUgikEEghkEIghUAKgRQCKQRSCNQcBAp1VNiz5rqetpxCIIVACoEUAikEUgikEEghkEIghUAKgRQCKQRSCKQQSCGQQiCFQAqBFAIpBFIIpBBIIZBCIIVACoEUAikEUgjsbhBIHRV2ty+ejjeFQAqBFAIpBFIIpBBIIZBCIIVACoEUAikEUgikEEghkEIghUAKgRQCKQRSCKQQSCGQQiCFQAqBFAIpBFII1CAEUkeFGgR+2nQKgRQCKQRSCKQQSCGQQiCFQAqBFAIpBFIIpBBIIZBCIIVACoEUAikEUgikEEghkEIghUAKgRQCKQRSCKQQ2N0gkDoq7G5fPB1vCoEUAikEUgikEEghkEIghUAKgRQCKQRSCKQQSCGQQiCFQAqBFAIpBFIIpBBIIZBCIIVACoEUAikEUgikEKhBCKSOCjUI/LTpFAIpBFIIpBBIIZBCIIVACoEUAikEUgikEEghkEIghUAKgRQCKQRSCKQQSCGQQiCFQAqBFAIpBFIIpBBIIbC7QaD2rjjgFyfOd29+tMgf2gWH7+f2a9/U/13Vzfuzl7tXJy10Tfeu4844uLtrtnfdqorU6PvtX+xwT787z01bsNr17tDMnXRAF1drzz1qtE+FNL5u81a3ftPnXhXAvkHdqqepLkPB9i0aFtKF3absvGXr3d9fnOqPd0iPfdxpB3Xzf6c3xYfA59u/cE+MnevmLlnn+ndp4Y4d3NHtsUfh6/X25z9yC1Zs8Dv8vdMGuqYNyxN36fWarnH/k9XozeoNW9yjb8926zZtdUcN6OAGdmtZo/2prsZ37NjhfvbweLdjR0WLrBnWjqQ3pixy42Yude2aN3CnH9w9Ej2SsjvbdWecAwtXbnRzlq5zbZs1cF1bNy4q7/PZ1u1u+sLVbuvn213Pdk3Lnhe0821n/J56DJ9v+8L98l/v+o/s2vRf5LjJR2sL5X3ueXmam7Nkndcy5PsnZw119erUytGTnetxKXCelcvOHN59p6IxazZucdMXrHYN6+7lerRr4urXqVouifPVC8VjxcJVazZudes3b/W63qRhHde4fp04w6jRvDMXrnHPTPjE1a1dy516UFfXrvnOJQfOXLTG3f/qDB+GceWxfPj+9ckL3csfLvDrPnNEdzewazQeD9boZw+N83mkts0buG+c0M+vK72JD4FC6U/8FqunBPqoJas3uYUrN7gvduxwHVru7do2axibLysUH1bPaKO3YuXzn54z1NXda9fgF6JDIXnOquS05DWXpiT9XbByo1c52h3WQbFSqXmRYvUzaj2W7o3s09YdN7hT1OJpPueclkcASDno/6AFHy9e6z5Ztt6tXP+Zp0MZ2qOVa1hvr93umxWLPy8nwJXjnEvhE4SA1aEgE111Qt9gpvRXtULgs8+3u+VrN3ttojPap3H9orW/q/EGAKa4mpaigbqwiibNW+HmLq1QIFJTHKP9jAVr3A1PfOB3YOLsFe6Wr40qiiHRr7TINw+9MdO98P6nXq2T5610KCsuOrJXkVupvur+9eYsh6KUtFftPd3fvn5olcahh16f6d6autjv5O1XHeYa1d/9mCEfABFvYCD1Wtm3XXSHnohNpNkMBO56Yap7e1rFXP1w3gq3ccvn7ozh3U2u+D/HzljiYEokNSiyIl3qLcY1XePFgGLx6kCp8n8PjnMwOaSJc5a7n51zgNuvw66PD6CXYnBk7Bi8JY2eutjd+cJH3s8P5zo3a9Fa98vzhsnrXeq6M80BHBMeGT3LzVi4JoDz+CBHD+zovnrEfol5NpQrj42Z48ZMX+KWrtkU+MaNG9RxPzpjsOvcqlHgeTn+2Jm+Zy74LV+3OcCf6LWZq4x+no/WFsr74Ly0YXOFQy1twqvuCqlUOM/KZTtcpWdYGQMNpz3kqw/mrgh8a7rcs10T971TB7m9C5AzCsVjxcZV7328zN301CRHvaR+XVp4+K6MP5HftaVrNgecmsbPWhpJdvQrKIObeUuTy2NV4fvJn6wK4NI4y2+N4ZG2bc/IGWUAtp2yC4XSn3Ib9JbPt7snx89zT42f6+MP6SO08dKjertR+7eTR6HXQvFhaKVl8tDK56mTQrwPk09Oi1dT6XNjlPzT4xO9zWPS2u+/enBBzgql5kWknzVxtXQPB700xYOAlUdwqK3JNHX+Knfbc1PcqvUVOiXpS7c2TXYbR4Vi8+cCw3K5ltucKxe4SD/KAT5Wh1K7VuGbImV86TU+BBat2uh+9ch73oZASsMb/+NbR8avSJXYlXkDhrlraNbUB+MWhYVO+zSJ7q0CYtEJw81KQ2j1+1Lfr1j3mbvlmcnuL09+6EarKBG63XEzgn2eMHuZfr3T3eONLwnD679Gz5KfOa/WoJA6KeQEVeDFskqvLnnYqmn0tSJl0ms8CKBA1em9j5frn4nuURxqJwWIX50EuzXY9QiuufnpSW7z1m2J+hKlULrGo0Cp+vIsWrXJd1KQVt+fU/i8lLrK+bp87WeB7rVqmnFUwFitE7sDxIgjzz/6dJW3Zlg3KFp31rSzzAFw1E8fHOemfLIqgPME7i99MN8zWCUxpqzf/Ln77j1vuyfGzslyUqB+BIKfPjTOfTBnhTRXtted5XvmA6B4nUueVk0ya1Oe5bvmo7WF8D6YcbWTQr29asVyiM7X55p+FwXnJeljIXKZtFdd/AntscvvmrtGew7Q+ltLX3Ba++69b/s7I+R51GuheKzYuOrxMXPcX/73YYC+tWxcL+pwajzfh3ODOBl+WDth13gHI3Rg2dqM7Ev2VjF0F1Xhe1t3HL3IMqNTaa14pAjDSrOEQKAQ+hNSXY0+woh89R1venyT5Y/pGGuRiALPvvdJzn4Wig9zVlwGL6x8Xq6RDssAVDm7kE9Oy1moBl7A53z/H28HnBToRvNGyWlpqXmRGgBToElLm+LQvUBFu+kPK4+g/+OvphJOCtf/e0KWkwL92dmiXCWFYbH586T9KFW5cptzpRpn0nrLBT5Wh1KdvPvKCPbLpPDdGcsho/7ovjG+kwJjKDRi4a7OGwCjmqNkJZxlq9YHDQ9NGkQPXdk05JiHKEcPlGo4z7w3z9vZ996sZW7GojWhzTRtGBxfoRM/tJFqfIgHmE6vfLjALVbOC/qd3GshJhUCBSpVX1MBoWoYFTuHXZ+NGxTu+bx8XRDnNd87vlCMY8J9r0534JqxM5b6YV6LPX7qS9d4KaCavM4wGhn2LHkL5VvS4sDWylmreaPg0SkI/3uaY5Xufmmat2ZYNyuM41f5jjq7Z2HfO+xZdsnqe8KuNHCUTTZqFkbE1yYvtNny/kaZ/st/js8yPFqFD4r4W5+dHDDo5a24hl6GfbuwZzXUvUjNFmrMyUdr7bqPoxxlh7FOcYx+ulw53kfBeUn6beWyuOEOq5M/Qd74zaMTshyhLC7AgeGB1zKh+qPCpVA8VkxcxfEof37iA/efd2ZndT+uY1BWBdX4IOyIxkY70bEVgGrJ6qDsGwevhOF2/YxNDzrFcULJwpWKR9J1pvfRIZAF0xhOKdFbKX1O8PLPHx7vNm2p2rGdTSc4NdhUKD609ZXbbyufx1l75TaWmuqPXS9aTqupPtl2cVr/4X3vZBlokU+S6pFLzYvYMdTE70LoXk30t9zatPJIEv1fscYEHbjh8UxUaurl6O1zRvX0onNZWb1Y7ZZTPcXkz8tpXLov5TTndL/K5b5c4GN1KNXpqPB0BPtluXyvUvfj6XfnuT88NjFLbxhH72T7uDvwBox5l3NUQInM+R+SCNUbJx0zqKPrqM4S++oRvRIzmHHazZV3/MxMdIRcSqNLju7te0+ys+vyY/rkqm6neL52Y8X5qLqzd784Vf/MupeQ5bxIhcAs8OR8YHfKFII0czaSvghA4OvH7+/vviRs8EVH9g68T/LDGkiTRMbQu4QLEayj9D9d41GgVH15mIcIkpJ6tG3ihdCX37vy1TLyGgdyjroY7lgTnMusA6et3bQ1sPNel93ZYFbuc2DDZ5+7vz07JQDWYwd18sKm3ffto9wpB3YNvOP4BsJhR02PjZ0TcIgEHr/48jCv/r9ePjLAB6KM0UdNRW2jOvOV+/eMAoss/iSmgSwfrc2qO4ahyJatTuE/CtwKyVMVzktSt5XLMPjHDX1dnfzJLU9PCjgpcMzDLV87xMMF3z99UAAEE2Yvz3JuCmQwP4qBx4qFq5Cbrr1vjGMMYakcjUFh/eTZ0B77uAFdWvqvTxja2XXap3jngvsVl/DG7n6Kw8fnw/dQQaIBSYq7/paYiApt0ogKAsrEV0tDdlbe8dG3Znvnjwsg0J/9+dIR7oHvHOW+c8pAX9blPXRg2vzVktW7FgMfBioswx9WPt+V+IXqAnc+Oa26+pCvHSKChDk3UqaQzVOl5EXyjac632XRvZiR06qzr+XYVhb8YspJxRzThI+XBWwwHPfzs3MPcF8a1sU7SqyYbZVrXcXiz8t1fPSrnOZcOcKpXOBj+czqlOk4SlBSLvulvN9Vr/C8Nz892f3zzfDI8K3VUcNxYbA78AbApHZcwJR7frtrIK7wh6H/d1892BO89q63V2xlWjHhQwgxbYDPNZbubZq4u795hGPHUovG9dyee2hTSjF7VPq6EFpZ2DZNW7DaTZ63MpTRWbc5o4ChXCoEWujl/m2Fv5YxlPW5a03f5INAn47N3T3XHOHtLAHexVit9jvmwhX5+jV+VoapKESwztcG79I1XhWEauY9guTRAzs4ztcM251YM70qfas2JLlmqFkHN11xiFuxbrOnbNqrVtC3831j4ImzA7L0I4vfQjnPgX+/9XGANxjRu6278Ij9/EGePbKH5zywsjKiFoaZqfNXu/07Nffz5LpZs3Gre3LcXP81Tim/OPcA17Z5Q+8Zu78vO6aPd367ZHr+/U/doX3zn7kseWvqWs7fMwpMCqVr+WitrTsO72N398UxKEYZd03mqQrnJemblcuS8BfVxZ+gXJm3bL0/zBaN6rmfnDXUdwYf2LWlO6xfe/e6itjy8ocL3JcPyTj6+YVDbgrFY8XCVbOXrHW/+feEgFLZdndnomd77LGH+8EZgzyZuU7tWgHHMjuucv0Nn6FTXPjnwvfWMTjujkt7tGIS+UKPK713rhD6Uy7wY+foq5MX+N1Bf/aL84Y5riTOmj+gZysvQp9kmrtsnRveu438dIXiQ7+iMr6x37o6jQVlDJZYXcsnp8WqqMiZ0Vfe/dJU98aURTlrToovS82L5OxwNb+wdK+JiRJczd3Z6ZqzEUpr0pFwnNpcCSBPO6jbTgfPQjpcLP68kD5UR9lymnPVMd64bZQLfCzvETeSYdxxS37Gv2p9JnrW7sjzoIPEeXH+ig0Clqxr64Q2t92FNwBgO42jAjvYOIuj1h57uM6tG+U81yOfFxMK7E+Xr/cM+Rj32YFgE9EYNn32uWc83PjZ516YZ2uckDJf7Njhlq7e5Jas2eT2rlfHi8RQr06FgCZ5wq6cV0fIDs5ph4HtuM/eoc4F75qz7PMpQ1Gsa6UGxPKLL77wmmfnUsN62WOVvum8OGfYs+2TjlPqj3O1SFWXvfPFj9yNl4/KgpX95lUhRObBnCXrHMxwp30a+UK1bot7DKqENeT7W8UqiGfxqo2uScO6rnubxq62MWDZuvi99fPtbtHqTY5ze/iWbZs1iFQurK4oz/iuC1ducIR27damceia0btsmEOiYMhVP0bMJas3OkIZsiuHiCXsoMi1Rmh74YoNjh057Zo3cO1b7B3YYWHbYZ1/sny9d/4z36aqb2nL29/0d9OWz73He9Wu5RqFrHl23S7zzqnf4Zo1rJs1/yms62lQdy8Xts6ZLwtXbnSbt2zzDFx84zAnBEJf0ibwXr9pqwdD229+M1/mr9zgea42a1jPw3u5vo9VJGpBBZiyi6VRg71ct9bhcxXXoIlzMrvqkgrWYeOwz3blNR51DliYRPnNfFi7eavbw+3hWjSq61DMS4IpBKd1arm3b1yVd6xBzmqGaey8T/Z78qFsWbsxw1SC9+rXqWAPAu02rheY0+DS+cs3OLrSs13TohsHWCfQyQUrN3r4C9pv10CgfwYurLVPlq33+tetTZPQ9W+NjpqOEtp767btHt/BWrXnjL6rhHLWcz46K98jyRWaAV4ktWnWIPY5j1HwdrnOAcZM37RhkGeXHJUdiQYD4n9VCPNFqzZGclR4Y0rwmIhjB3fKWkdDuu/j4Wz6Qlq2JnieuPcw5j/m94pKx4om9esEaA/8J44WOA3BY+j1TjOfLt/gFq/e6EWQ6tKqcRZdLefvSf/BMdBLnHE7tgyn9ZauaSci1gTGVniKdi0aBvCSfIZ8tDYq74MxBuMKxj7hSewO46T0EllA+sH3zeUghhMyeLxh3b1C5RZdT234spCQ9+DJKPxnVThPYItcsHgVuHmDa1CntifHWD5Z8ubj0ek7R7Vs3f6F27ddE5/uSFmu1cmf2HPUiVBnj3zAQUnjI2SBKKkYeKxYuIowlDr6IFGUOFdXr7lWjetHGVbkPPlodaE8jMjudOYz5DbOaa6Uy4oty0UesMpYlTzG3NDfQ8tjzP/5y9c7jHV8pzA8kQ/f2/W3T5PcR8MBq7lL1rntO3b4cqOeEwwpny5CDbnK2yj8Xa5KwJvoUaAf4EWOwGzfcu8AHcj33ecsXedWr9/iurdt4pXV7YAD4begUT3aNs16T958dUPXkL2bNKjrurRuFLrhRfA+delvrfsh9+B/6uTYsQ4t93b6SA/Jo69x5W5dNs792JlLA5FnLj26TxZ/vl/7ZgFHBb2Rphj4ME5/c+XVckLX1o2zZHK7thrU2ytrnOA25oQknSdr/Sjl9IIVGxx8Krqkrq0aBXhAqUtfq+qrzqvvo8gApcTP+erWY0oip+lxcs93iKKLseWS/H7zo0VZTgpHD+zoXvpgvl9dq4QRaErJi/idq+ImCi6Bb/h8W0Uk41x8rNYz6zyW7qFTFM0Guit0F1zBo1UZ2ZLqD6FDK9dv8XS60GD04OgBbHRe5um2L77w+F0t68PDomNjXD3aNcnCDTjqYnvAgTLsPfRdnDWsHAgNmrd0vTenu7RqFNDzy6ezu6bzySOl1ufzvSTBg1kdbj48UIEn98gqI/XFpYNSjqvFf+iCO7VslMXb6zJJ7ovFnydpW5dhTqPXXrRqgydTQdeiRLGLah+JOufSNVnxVWpqTVreQ/Sb4Cwc8sFN7Zo3dB1aNvRta+g81qsNwPAm8KhhSfM98KeiA5gwK2NPoFyYQT6f/ototfDI7Vtk+qXbT0rjk5bTbUe9v/eV6QEnBWzO+7VrGohgmFSWKgfeICocCs1X1o4KEO//jZvrXvlwfsAzh0Gza/5bJ/d3nVs1CsDAGh1QbKLwvfWZKe7DeSsCeQkVfNbIHj5TxMvHx8xxnCUi6evH93Wj+rSVn96VBYQy/JUPM57kkgFl9iVH9wkVbGFyHn17trOEjLIH7dfa0RaKlftfneHwloFg6PTTB8flRBaS74j+HdxFR/Zyv/tP0Ivnp+cMdb06NJNs/vXvL011r03KKOmB6bB9W3vvk47TrzzBjVWo6CowtL38wQLH8Rw62TJhQgHM570vT3PsgIVw6jSga0tHiGCr3L3rxane2ePkRfAArh/OXeGAmfYUA4Gz42q/Dk11tf49DOpDb8x0Uz5Z5T+Tmy8d2NWdcXC3ojkssGbGzVjitaf7SHsgSb4vuwxJWlHCb2uE8zJVGonemrrIPT52bla4J8mDgUgfOUKUizufnxowfkveoT1buSuO6RMw6mFMvPnpSYHQ2+QHtqce1M2delBXn4hKPVGuL0781D3y1sd+1qtO6OvYiavTdY+852YuXOM9Qki67cpD9Wv38eK13hmc8pD+nDWiu/z01urDb8wKKHh5iUGVY1l0ewgJV9/xpl+Wb3LHVYf5v7kBFrc8M9lTXugXwGJQ931cw7oZtN23Uwtvd8rStdk7sWYsXOPueuGjAEwRHH585hC3b/uKuYrz132vTHcLV20MKJyIYHL+DS/5zf/1spGhApKfIcaNXa+66M66xsHXUeeAHm+c+9HTFrt7XprmFWGX501XjHLjZy51D7w+I4CPMLJeeHjFTvNXJy1w9782I/BtEVj+75yhAWF6+oLVnuen9Oeg/dq4b57Uz/up24XuEtYV5ve256Z4BiYpw/X8w/Z1JwzprB8lukd5AY2F/tuEY9TVJ/VzHVpUhHV+e/oS9/fKo4EELihO7nh+ips4J0jzTzqgizv3kJ4Bmr/cc1LKtKIFiusfneApGOTtzVeMcvXr1nZ/fGyix4BqWkKf9Zq57Og+7vD+7aVo7Cv1Pfr2xw6GlHud+A69DL258IhegW9KmTh4u9zmgB4vdFvDAH4pzFkMZzid8uEane81tTua5xwpYRPOiDg3Cl2Fp6BPuQQ4Wz7sN4qE79z9lv+K8PLMqb89OzmwqxsFFTsV4Q+hVdAHzR9Ca371lQMDDizl+j0xED342gwHfdIJ2sSxA6xRSXqMPGNtEmL38bFzAvwLwjfHdGCskpSP1kbhfbZ8vt3jHV54/1Op0ruy9qzCRzsGBjJX8ePTFRscfL0kZA3kAJ2eGDvHkxvk2U2Xj/Iip8lv5uE3bnvDN3LilPqr8w+U1x7+isN/huE8zRvm4+16d2gWMGI227uexytZuax1kwaegfGWpyc7eA2dOG5PePzq5k+gG3pewp/17dJCd8+7b9esItKKvMjnfCl5uBYDjxULV509ooe75+UKfmJkn7bua8ft76687Q2/u+A1xl/MpHkJodXF4mGs7H7Fsfv7EW+KJcvFhUUceQwlvE6sOejLva9M8yIFoTyUNKxna48H0rQnH763dJD1ZxOOX2wGsHIq8prdEdSyQAcWxhWVv9P9xIHghYmfejwReM8maMjFR/YO/e7oRi49ure3gx+crstfc3J/d+C+rT14P/DajICRkTbgB3T0Jp7d/dI0j//mXuqet3Sdu/XZKQHZjW/0zZP6e5EFpL9R6A8GwpcmzvfgpPtKHWxyuOrEfp7judTJNR9uDpO7ddkk9+CNfds1dRjbMfyIXKnrsrhRH8dSDHyo24p7P6ZSdrDwBe+hzxjao5VX5ZRPVnrnC0v9wPLbXxogP73r61MWuftene4/Qw5CHiJZ+Ry9JHL+jU9NCugNmCvfOnmAF4nCr6jyJmpfdTnWWRwZoJT4uZRymoy5OuRwaUuurIF/jZ7lba4B/6BrXbAi6LiYxBhRal5E+p/rGgeXXPevdwM478+XjswyNv+/v48O6CHu//ZRnuxk6R7OAdDNh9+Y6eF53T+i43GcjJX9kuoPcTBFx/DO9CUB+VLaBA/89OyhnnMYz37wj3d8/TE4fWC3lu62Z9EzZOTTBnVru1+eN8yTxXCiC+Nxhd5IO9De/3dXUA5EliFcOJH7WMeS4LG/e9rAgENvLmOklOFaan3+hX95OdBP2oRn0TqRv115qKcvtXos+IsbnvjA1y9rO0QSOijjjoL/cDqGVyxWKhZ/nrQ/GI6fe/9TT0bWPCP1oTv7wemDsnT90L+49pGq5ly6JoMbWcRBQH/XUq9J2rI6lKZ713XvTFviRQHSfA8OBj85e4iHt3A2+uW/3vW7Knpf/0HlDc7l3737bX/dgy/hmTimUUeDJ/tPlJ4D/R34M0z/BW7/y/8+dB99WmEvQ4eKLlVSUhqftJy0m+SKPgv5loQzyE/PHerue2VGoKqweRHIEPKjpnmDkC6V9FHG4lXSZuJXjnMBk9UqsaQmkOSPHxjrIV0MzZJseLCG9Wq7nz40PiAMSF4YFBSfGFklWS8x61HJDq5fPfJegOGSslw563PesnHuhktH+Ls5eM6OoV898q6/oHUZ7sfOWOoxt9edP8wLpWcJjOTXDIs809fatSq8nvp1aRFQLnw4b2WWowKOE9pJAURFmD5SknG+PW2xe2R0xiis+5XrHqSmFQD2+xFOVZ/t8vCbM92o/dsaJi1opNWGJtpFiEb5apUD0iecD665c7T762WjAopuPRdQXuLAovsi5fkm1z/6nrvz6sMDhiLe48wiykDJr6+Em4ZRv9Iop3WeqPco5hF831Mh/HVZlDzX/3uC+8aJ/dzwXm0cREYnCzfe4ZX+63+/lxN2Ul6HFoUwfveet3OuEfqHUk0M9BM+Xu7+/L8PpKrAFdii0GJ3CoQtbmIHpE6zF68LOA4wN8RJgXzMEb2bnGfPvPeJrsIdWWl8xBsQgxFrNyzBBMiZ6uKsIEYuyU8EB53wwv/HKxllh34HLOy3rbdXbc9RQc9VyuBcoR2upB7wCt/z71cf7u3cYOw6zLHks1fZwZWu8eAaTzIHLGyj/tbfmDUGA8R6twkl7IjebdzE2Ss8YcW+hwnFGe6KYzPMn1UmErFBkm4XusvOgd/+Z0IoLXvo9Zmua6vGrnfHbKc4qa+qK3jsJw+MDdAvXQah9of/GOP+dPFwb9e77jtwwWP25w+H03zWBB7+KJYlac9hFIVaCSK7HCQvnsXgDG3Mknf22rxx7l2LNq/9jbH6R/eNyRIyJB/fwQqKFx3RS14nwtsajlRUzDkATkMpHSdB+w/uVREieNK8lYGiwqcEHjrn6tcNGtasgtjm5zew1oac5o3qZu2kkXJEztI4HNqdRNCQ+uz8enfWMvfI6FkBIwp5wdE4rBAR53f/fV+K+1doDWvy5isO8Z+V8nv6jcS8wclASqEwvgAAIABJREFUK/N1cWgT/BX4Bgc/8IB2BGJtEiYaQ5VNfL8bnpgYMNDr70R+TWur4n3AIdfePybwraVNu+54nkQRTbkOlUeLSN3QbZ2g+U+NzzhO8w5HD454k4QBQyscjhuccbJJwn/aOQnOk1SVXIC8pmU2DGo4dVq+nv5+/96M0lfq58r86LxPI8/xNy5/wreBx42TcE799VcqHDvgS3Ua0r1VwKlN3jU0BnyrDJJ89looHismrjpiQAfPUCDKJXgZZARJpQi/rHmJ0vMwmTWi200qywlcol7jymMWX7Or8xf/HO9FyrJtjp+11D0+pqE7UzlM2/IB+r02qDS156KCU37x8PhQni5b5qhVkHNeXP5Oxg5txJkdnJgrQUNwMJOkvzu4BKdd63hGXpxuB3Rp6X733wlZzre8h+bs276Jw4FXko6oRN1EOPpZCAzp71+f/ND96ZIRnoMB5auiPygic/GwlCeSBN/r9xcN9+tkPcWRu4shy6Ftgp+2u2YFRuCU0VODIfHZMS+pUHwo9SS55poL1AUeRP+IswL6Qbu2NC8hbVtnPE2j9Tz06v/sc09nZOcyv9GFWENvnL5Kf5LobnQ/S4mfqbuYclpSOfza+8d6G9kEZlGuGBv0zn6ch39+7gHug7krPL0aetT3Pw7KOmG7Satqq9S8SL724+IS62ygHYZpB2Oz1mnj0AE/T7JrCz0kxv2xM5ZkdRHj1V0vfhTQBSbRH0JB/vXmrFAdmW4UPCD9ZG1qeWTq/FXuqfFzs/Rn5GHjBHpWbBSap5K6b3pqksNoL5FxtPxJHhyY//nmYgeOtgn++vbnPwo4Slk51+Ljqvj2XHYL23au39Bci8vC8sJrWxwTxnvIBtQkdFDajYr/1mzIHB1dqPxQTP5cxhHniuEbx3fWb1hCd4bcdd35B3o71cmDPiuJfSTfnEvXZLZzYnWvSb6t1aEg670+aaG32dbODxwLcE64/cpDvagv4D1Z06wL5pbgKyn76Fuz/Tw8+/Konp69S8pJPntlAwPJ6hpmLVrjHnx9ZmD+ogsgJaXxScsVgzcgGsSPzhjslq3b7A7Zv51nE7b6Ix0l1BtohH81yRtE6F7RswQPXC569ckqJCTJD/4xJqDwoiYWmTANUvPfnpsSYIAs04PhxE4MKcuVCAc6WWFDh77EQ+yX/3w30B6eRnjUQoAlQSTGTs8wWXjZhzkp2LEQPptde+yewyvTJhhg+2fzyKTv3zm4C+jjRUEFKOWeeS+oAD13VA8vdFXScWIEZuxx/vjWOln4s7i1IwrMrnWGsEpQbXCHWfnhfWOyDO3AUSfqlV258lwjUaIihDkpSF4Q8zuGqWQ3s3VS6NmuiWco19/+ramLHU4jhaY/P/FhliGbOnVb/K5bu+J4Es0w8py5rBM7a1DWWwcPduzxp5NW1KNM0kIJnmSH9m3v74CmnOy6xiGJ3aM67de+qRu1f7vAbq7jBifbpa13b9CG/qb8fnZCttFDe8PjnTrh42V+9/Dolt2FNz0VdFIAzszVQd328fNzA+GVZAUSDXPwlHVSAG4o0MISu2gP2b8iOoQdV5iTgtTBXB1TKQSyq416bEKQ5Dl/5JGjTdI1HhQck8wBC+uov+16DXNSkLqYR+w6zpXemb7YY/zkvaWbel7ad79/7P0Acyp1yBVjZCHpf2PnBpwUoK04+rD2JLGroG2lkU8rjHn/60fei0zzEYQ1U63pAgyuVkywFljjDerVDqXPvJM1w7VN0+Rhs9lFqYVNcChRfTSfIbDgCnzkyKakeNt+52LOAXakxeELyCs4h/FZA27X1hllt4ZDfXP01vbtuY0aUk6HquRZtxx1865O7SDLvC2P0UTqz3e1axojrTY667IYnW/I4dBHPgzzKB0klfJ7ShtxrjjhhTkpQGt0ku9uHQ1Yp2FOClKWo28IYygpH621cNdznXbg82378OS51h80MklizSLXSLJ8IMe/2fmgvzHl4DMlAUsxpiXhP3PhPOqHV8fgpnk7+B2iQFgek/w8O2FoBd9m5yIKWI1bpf9yffGDCr4sLn/CURRx8QwGE0kWz3DkSliyQTC1cTQsvzyz9cfFY8XEVYwBI5zsGiY0s06F7prXdcm9XXdF5WHMUTzagUzzx0lkOel/nGtsecxEReNbg9NypZc+DPJZdo1pnGbfaRkZ+ZkdsZoPok14IYubeV7ovIjL39HmE+PmerhH95G+sSFD82zk1bKo/u4cURPmpEAZcBqOfmwoyZXYMa+THNnEszWbtrifPTwuC4Y6PxE/JNl1oL8V+B4nVa23gvawCw3dkCRg8diYjP4qjtxNHcWQ5aQvua7ATBvq+nZu7jtWUKZQfJir3aqe41ii5wJzCTxINFGhZfDw4hCbb/1IW0tW5974oech+W986sP8c0XJbnH7Sv2JZYA1wTGUEj8XS05jvEnkcNY8tCAuv9CoXkbXK98e+QydluAia8TTOEnKVHW1a6PYvEi+9uPgEvCQ5lFZPzbimObLabd5paGKe7u22PgT5qQg/eW98MlJ9If0l4jDVkcGbw+OlfUv7bWsPKZl1YaMbME75LFcm3xwhvzT4x8EcJ/UJ1fthGD13g+/PjPUSUHK4jzIvJVk8YvmfZLq86XuKFe+N5EJwuwWohNh0xg8p6V9OG1oug78iYqclA7S31z4j2iiVnfdullGT1Oo/FBM/jwK3HUegZeeF/q93HOkl6zPYtlHqFvmXLomKyBd02uSXlgdBrwYEcFzJd6PmbHUi15tI7BPmx+MCA4O1jgM2gcOgJcNkxsED3Dt2LIiIqHFBf8a/XEAr9FPjmYjJaHxScsVkzdARjmyfwd/47p1Ug47jtwbcJ5/Nckb5OlWyV5lW8NL1lT0ip8cPy8QNoQF8LNzD/C8tjEs/PiBzE4nFtZb0xa7wyujIlijhbSKd+PB+7V2hOUhZJ8kvIhA8CwekhY++d2scmcpCjyYdk1Q2SlEGHgSQuV37n7bu+cfHpEkPJr+asoxHkI3sTsOJRmGd3aMf/uUgR6TRAhbvPMxEkvCeAsMbLKe1sIQk1+necuCCg8Ua9qgBJOGw0XScdLWanXGuW473730V/IsNcIe/br4qF6BsFgovI8f0sk3rNtvTmgbSXe+8JHcetdB3Vp60Qs4XwwHEh2OhvBdMNQtCT1mjFRSCfPkmi8NcF1bN/J2y09WOz1BHrJTFw9jbXSG+frB6YMdgjoJhwX9HuWz7FqXtuJcx81cmnXMAnPzxKGdPeYRb+//vD3bWydDelQY0q2AoJVX9P8PxiCJUpNzwRkLRlCtRJPQxyg7tbKHMM7sjJWE0M252of0rYhiQr+0kPPjs4b4Bkm+wfhZy7zz4IBXkoRTAf2VdbtcGTJYA4RFtIm1KO29+/Eyvyz5Tq4MS00YIXY1SWJN/+LLB/jM2p+f+MA/hwhHD9qnH/lgztEBOhGGSY7pePD1Ge455VRxzsgejmNDSLnmKkLDd04d6DmIIHhKKCXKiDMGO5b547xiIotIAteAn2xK13hmjSedAxamUX9bYZZyMIU/PGOQd366DtUla5Pd4T88fbDDoPqzhzKKVBixLdu+8OmeZRg1LrD4lbKkCw7bzx3St50XmpCoJ5Lmr1gvt4muL6sjlRBuf3vhQX49GB9l54o8tI5qEqaYY16IHIOyVDuh6agplmnUCmNRhkg7oqBnN81dVx/u0U9teCXMl6xJKZPkCi9BaDZJCNbwBOAPjq249KZX5ZX3/W698lD/OybF21RYyjmAN3bcpOcgOFkScLB8g7yzjglhApPklSuKHJ2g7bmSdaxkN1UhaanZ6Upd9Pl7pw7yFPq/+Nd4X9gUBQTjJzww8+I3j04IhFxdsmaTH6a0lN8z7pgJbUpIbZ0Q4C4/uo8XHYAzmuFlUWBecETFsTXW0UDKomwiuhLfwkZ7IpQr/BspH63N944ISvRHEvD+4RmDfb7ERrKBJxTnCikT59qxxd6+Uza8EDKDnONtozlRLwY3SeAowfU8O3pARw9PJOU/c+E86n5jyiJ/LvL75GFd3LmjKng74SGkXziVATNgR7I0RPIRin1477buqXFzPWOkPK9W/kSdF27lJM5FjpJE8VdV3kLxWClxlcUXSXaBVjX+UvIwVnYXPJCLP44qy1U1prD3xZDHpN4jB3Rw8PvIl/DpktB9aFxhv5+mn0tWByMqiFKZujgeTng6fvPu2jOHePoW6v/Hy9PdK8oZSpeVvsS5xuXvkMsfVcf30ZbsdOeeqBM6zKyMm76HOUOBq4g+9cZHi7zw4tJ3Uf7hfMVRkBNnL3d3vpBR6moYMqeAvyS5R+b6v7OHujbNGnihlEdPzTg2611Q+egPIc/1eKCTHDMAjsHt8opbXvPHNX95BS2IK3fT72LIcjL+sCu0mHDSOn3lsAraLs8KxYdST9yrns/QKI57rF+nQh1KRMWx05d6x1jIOfT2e4WtAWuYkHkYhn/QBzBXfnpOhV6TDS1sWJGEnkRS3L4WJAOE8KPFkjFLJacllcNxLoqbmCs64l6u8trJiDw6AkOuMvZ5qXkR2578jotLmG86yUYe/WyFccLT8ptdW1IOHe85o3q6eUvXe9FHNI2C50WPmUR/yOZFDNmS4AN+cs5QX9+ljypAFhMZL5c8gh5k5P5t3e3PfRTQweIEQ0IvwHGc97863Wl6oOmJpd3C43Pk0JcPzQ0DcZDWEW2Zo4LLwD1J7BYCmzhXjk/o27mFu/WZzMYzOTJZ12N5QIErY0HvWmvPPT2HhiR0kHbC8B8GVHTXyGlE0tYykz4GKxFNVPJDKflzDcOwe+RrvamQeYDdSxyRcfIf/dFiDw7CGye1j9B+rjmXrskK/UMu+FTnmpS1ZecLuiPsUVu3bXe/+8/7AX0HvAd608Hd9wnYDKZ8usrfBEF99lhejrnaY4893B8vHu5FdOWYHElsLOO4YZus/kvoJjiZY3XgGTiuJCmNT1quVLwB/LvICsACu1GSVFO8QZK+FqNM2TkqoCjjTFZJIFuOQxCCjPcJhF8LkJo4WGUF9ejzoDAkoxDVTA8CBuddW+ETQUIUhm9+tCjg4Y7BW5wUaAMCoFOnlhXnZ78xeVEgrDB1YniRnVmEd0RZZ5Ml5gi+YckqAIUhZqcWC1yMNgjsOHmI9w67rcR4S70STeGNKQsTjZM6rjq+r7v4yEz46bD+2mfCUMlzQVT8FhgxJhg97QGPswlGbZJmdNmdJrudCBUpygfy8Y3FGYTfXVo39jxodeh+5hJEfFVIhAPm4h8uHu7PRZxjtKOC3lXFmcAavgjo4qSAgp1wvTp1qJwv+lnUe5CfNsRRTjvR8Htg15ben67TCo5aeOC8MN3/s0f2cKdUGsapY6lRfEnZuUuDO1Ks8wVnWOpzLNnVoZPOD9Hj3NBCE4K2GB60VzQOTnqM0o4ICfzWSjXmo5xXzJm3OqGUF+UFjLIOf0w55g5Jz1V+SxnuOY9ZEnNVnBR41q9zi4CjgihQeBc2VxGwYBiEEOJkoh0VdngqL2kt25AgSpZMjoq7dI1nwsomnQMWplF/W9oGM3f9BQd6QilznHlmBZVff+UgP1xX22YNA0Yu3a6lNyLIkMe2y7PvnjrQY2S5P3ZQR+94FqmvkE3m4FCtpNX4gPpZLwi/OllnA95986R+PlMNnsahQNN8GHicIKyCQPAYdSxfG1TA6LXKe61o4De7AIqRZppdfZwlLviDb87uHcFntMczSUnxNuVLOQduumJUAP7S33xX4VWgbxpPo7AXGm/LW8ME/FZVibNYdRK+Qz+T+81bM+ufZzaCg+SLeg0TJDF09Kj0Iu/doXnAa516v3vaIDegS0XELOi6ngt7KMiU8ntGHZ/kI6qQ/oYIrpyVKfw1c5oQeTrZ/vOOHaXIA1IOo9LojzLOhhinJOWjtbl4H+bPf94OHl+GQK+jufRsF3QCFgcmaTfuFWO45hfWbNjiRW2CF9YKNakXJ2ZJ8Os6ybEPSfnPfDjPHnej5R8NH/oDXy84i99hNITvjRGOdOyQTgFHBf0deW/lnFz8CQrJId2DEa28BvL8q1MZYYwsWonA78b1s3dP8lw71/LbyjE8s6kYeKyUuMquN+20Z8eS9LedB8XiYYCt/nbUK/MvjD/mXVRZLu5Y6UsSeczOcdrVjt7gOvh5zR956K6SGNrvp3k4yyPtU+nMRfhqjXuAG2HMhe8Cz2I80MbSXLqIKHCKy98x3+2ubpyo9UaMLJzVuGKH5Or12YZIyl19Yj+vq0ShwhiiEzqT758+yKOiRPXTeiahOeS30Ud4xpz6zQUH+TLdycO6BgxT+rvloj/wA+zUlYQ+Q5wUeDb101W+kwK/O+5ToWeKK3dTthiynPTTXhnrL0yUDo5zAr6SioEPpa6419nqiCUMkZoGgMs5F1kna2i1sgB5xZFUymV2YmfPQ+bKby882HeqZJ1rRwWtp4jb10JkgFLhZ2BicRDPiiGnJZXD0SveftVhnt5XvllVV40D8uW1EQTyyRS56tH0jDzF5EVytcnzuLjEflfRQes2CH2tk2xs4lkY3WP9iVMT9IfdvVrXKnJTXP0hOjAdlQ38+vuvHuzrybT+hL7psVhdAe/PGtnDHTek4qi1A/drHXBU4D1RNk47uGIzI/RGOyrouWQjcFCWaKpyLDIwQB+oNxOJfMNmRy1bic6POpLaLSibJEmfpGwYn25xDHkvOrJXQK+TlA5Sl8V/2IvkG/Be2xj4rXU+hcoPpeTP6WuuBD/x+uSgLIhheF8lqzIXJZIx9RRiH8k359I16bwNyOWwJq1MwHdHroPHr9hcsZfH6+C8JUnwHJGh9eaSqZ9mjkWENulIjthncQCWJPhZfufSjdp85B/as5X71sn9fR0Pz5LS+KTlSsUboNvRaZ8mySJx1hRvoPtenfdVa3GrszeVhkG9wCHW4qQgXelozp3/pNJz0SoryE/YdGvs5MwTbcDe+Nk2r+p8u4lenRQkAhA/zlbivG4ES038EELwLCS9OjkjdPL7rBE9fAO8lyHHvyyCn8MIkiXwKu8+lIDiqEAzc5as9ULT45BBKEVJMGsI5aSk46Ss531aO1yxJ21VddXCvGZyMNaAGMXYBMPJHwpSXUYzlk+Oz4yRdjnPk2+jE8Yq7ajAbmA8dVcYIxVlvn5838Bc3FQ5b6S+RpVKTc5jgwmQBFzwUKO/H8xZ4V6fsjCgbEBJL4ohKRPnOnPBmkB9KJtQklSVrIAgwjcGcx3SjOd2pzA7N3USuONcoBOEDsU6Tg72jCYvXzC7F/KStcUuIm2M13XGvccQIMYcjeCfefeT0KpkzbALWO9sOH5IZ0+BxTNdDzgGoxrncr0zfYkjXLPGYZqAW8ZBmGTWpBaS5FtIB63gG1BCGm91ynzjhH6+8MXvzVsqcJzU55RBi2daeGCN4EAVltI1XoHfCpkDYXCt6pl1oiP/hUf0ChhI2AmkE7vv9ZliOsQ1+TQuzJpflXQkjKZCK/C2lbTJtGtQrGSLdDXowBPMCUt8zsie3pnltpKw/uEQJuHPJT+7sPVaFppv6azeRZprrUqdFgfKWpb3Sa82tLsoPKmP8Wp6p3evFIK3qbuUcwDlbw6bX5Vg0g6AZM63o8l6aGulTa6G4jg3aAUy9UVxhMjVLs8t/8a8FScF3ms6w294OnFS4Pd642RRjmsanm3C7Aw/RL8vPqp3QBDlmU0iMOvnGJG0gi+Lrin+I9/6zcX7EC1B0274S3EwlX5YnGFpteSLepUzGCU/tJh1/fz72cdSkUfLGtqAiPMH52IXwn/mg5nwRfQBHpM/SSuNUVAL4GE4mlCI4qRAHZu3BB2A9DfmfVT+hHJJjAIyjo2GT8rlgGAVLE0aVi33FAOPlRJX2XldLHomsC0lD2MVQJouFiLLSd/jXJPKY5YWoFBkA4FOnxleS7/LRb/JY3d3iWyljeLkO3149yxZ1PZLy+W6/Sj3cfm7lz/IyPzUz0YT7aTAM80PVcgnFVGOrHGMvFee0Nfv5obPgg6KvLjqhH6+ZGRpr+Zrw2gT0WU0LWjXoqHHYws9kSvt5KI/GJZ0Qm7GAE6UQpzSrLMYegVSbLm7SPoa3Ve5R479yQPjArwLzsXgfJ2KgQ91fXHuNbxwOrvmztGOHYHoCjUPJXVq+sMzLX/z20bvoA6hj5ZWkP+8Q/YN1NGhRUUoZGlP9Fz8jtPXQmSAUuLnMB6gGHJaoXK4OEML3ItxZaxalxNFBglrt5S8SFh78kzPN55VpcOz81vjQKnT4ktNQyx9QaYiSoFOGFy1o4KvyzAEhSNz8ukP/20i81x2dJ+Ansz2RY/F8kfwmV8a1sXv5kYVYYeHrP+zFf1mo6BOmsfVPD15gIE4KUiZfds1CTgqCAysE5WGbSH6fGk3ztV+Zw0/6gnDMWz6tJtPktJBi/+wHZ16UFAXvjjHJjv6V6j8UEr+PN93sPDCqVU7KYSVLcw+EnQ80nPOZ6AqG03XpHMaPtW5Ju165JPgBKAjQGp9E+/XV/LF2GuwDQofDI6CVwKvPf3evICeBFylUbHFlaG2nxD9F+1deXzfgI4nKY1PWk7WSil4A0srk24GqCneQGBT3deyc1SwZ/wcaTybARDETif5bZUV5DnvsEzYeSmztTJ0tfwWRtJ65ouihsWpHRsop48MkHq4IqD8/MsVOxIop3dE8U6OqNBlwu4tgtEGFJ1fh93SQjp5+ndu4Z59L2OMpS8QMIzognzIR1hJCHTScVIHytEf3z9Wdy3SPdElBGl+tnV7APkJ/KkI48T5h+4bOC7hjuc/cr+58KBAGb3wtWIV2GvjmnQuOJMqDEG8swpbmFJRCkhZaxQRhxocErRSAqHza397XYoFroRmx7utkESYUZ2OG9I5VNjWebi3xKRV5U4UfcQA+b5qiBDPLEMvhNie/0VeFCz8ofT/6hG9XHsllO/fsXkgUgZwe+Stj70/FBvnjOpRsMMChgAdSh2BAS9wEQ6YG+wOlPD1EnZY79RkHIKLxhp4fzhvhbv6jjfJkpXY3XfBYfv6z+261g4eMACsQdKMhRnvRdaWDrNEf/t0qjhChLyW+DGn5GxNadgaVckjifmpFSO5lO7pGne+o1Ihc0DgHudqd3AxB0b0zniwovTT35C6La3RCl3KS0hD8mrFikdHKkPah9FUorXoZOdfM3X+pM4X5Z5IQOBwWZuUQTl73SPvekpgPO/ZRS4prH9WyUFeCxuZ4xbPa5qjj4mhDr0LhN923II/pW9Jr1YJOn3+av9c33fM2e56DhSCt+lrqeYAAoP1bK4KNp1bNfJ3PlpjdL29crOtgrul/rDja+SdXK2DT73KEMDyXq7wTHoeMU+tUk/yRr3a3UgnHtA5UNTi7ROH5H+vHR5L9T0DHYzwY8qnKwP8EDyC5gFyVWF3GeG0LLy6lNF4gmfN1bFfuWgt+XLxPm+rI1fIp3egSJvWyNRGnXEqeeJccZbViWMytrX+wjumTp6D0x54veLoDHgkdu6wY1ifQXlSpdK0EP4zH85jF7aEs4VPYe4K/yK8k/RXO2eG4Wi9w4kyFqZy5B7vWHN63Qnulrb09eanJ/t91M/z3V9+bB9fqWeNZ/VzRGTRIcupu3ubqo8mKwYeKyWusjy9VTLng2GUd6XkYSwe1X23ND6OLBdlXDZPUnnMjuHskd0D9IV1L/IBbcKnwcdJyoXvUZ5reVTWD8bVCbOXS3Hveljfig0L+qGVc3MpHXWZXPdx+Dtkc737lTqJ7KdT1uaSRpkdStaAg4OD4CvqsPSBKHadKiMUeO+NA7h2frFzCtmNqI+BtGNHAO58L0m56I/eNEFedrrp3W5SniuyNLveSHHl7mLIcrovco+MgZOCljWg2/DtNhUDH9o6o/5GFyGbFyhDfwlZfveLU90Zw7u744dWbErgHfNQ68tYc9aRX9Nhyui5YuUE5soxg4NR4aweijyS4vS1EBmglPg5jAcohpxWiBz+3IRPsjZmCcxzXdFJyQ76XHnWmiNwrTyXq5x9XkpexLalf8fFJRaPahla6rX4TtNnS/dYf/YoLQsLkXPi6A9Zh1qP37ZZg2w92erMkW/0Xcv8dgxELws4G5hjU3Cq0zoWS0e1Ds46GZ5+cDff0UlgqHlgnjWrDBtu+yW7lwvR50ubca+Wjxe9sNRjcQzPcSyxKSkdtPjPM6Aq53XasZEwNU9QqPxQSv7cwkj/HjcjGKH5lAgbFQuzjxhHBbWRNl2TIfqFSvhU95q0OhTsf+jWdLJ4heM3JaFr1ZGeZixY7fbr0CxgV2SjrRwvIuWs3iqXzGBx/4lDu2ThvaQ0Pmk5xlAq3sB+D22vFNhFuVp6WEw9RZT2qztPbo1vdfeksj17vnX7FplQcdIlFHk6sVuSZAk2YeYQPm2yZ8mJctMKn0JkbX5bH7+9qAR92rkTh3b2dyTYcggvWlgNq0ee2YUexvxxhIBWXLRUQjr12J0HsyrD3T02JnO0Bv1GkCTZ/kpf9DVsnLyHWdWCny6T6x6BT5wUvDoMo9eqSTCU9lEDOrinxs/zQ+yx0+DhN2YFqheEiDFaI2C+pVbqSCE7ZtndZhW21uOT8lYAFeZ7yapgtAFpS19hko8Y0ME7UzjqnNDl9b1lvAiPHCVpZYInfNev2EU/ae6KQPG+nSqig8jDhSs3Zhu1KpUwhKfjrDJ79hVlUaBfe/8Y9+uvHOiFXecZ0SsIt8X5xzaxW3DSJyu9o1Jy7WyzZcJ+yzeVd8yb5ydkdityRrL2PgUuKPG05+NB+7X2HSaifF92Nx4zqKMbZo6usAKJhGClbzAQsmMG5eL1/57g+ndp4YX+1mEl2fUUEIDWBJnGw/sFd65Qt8WNmjm3zIJ+JzDz6kjXuL9jqpA5oGEa9d5+PxSUGnfaeYWXrF4z1ptfG/yIHKKTZlTt3KBecciSMrnwoLyPe8Xjlygfj8jVAAAgAElEQVQKmrZRB+388bGJgfOJbdsezVfhZaVtOw5RJFoli+BwylkjqFU46To1/pQ2k167V4b9l/IPvj7Do6177rmHe/rdefLY4yVwSpNUCN4u5RwgOk9c3kAUUYytoTEWWiZdxs/V7twPU7rp/Nw3qhfcDb210lnM5uO8O526t63gO/WzOPdWAY5y2jpW2AgOcvSQtKPpAs9k/pbye0rbUa9LVwfpU9dW0eBm199h/bKNaFnjr3S2pG8WJ2pam4v3sWf/7d854xAo4x03MzgPLJ8q+aJe2XmrE/0eM2Opz7+Cq48a2MF3VCDvopUbA5HA4MtRQpCi0KZc/KeFucZ54CVt2IQ/4UgpjksjEoUk5A5tuLe0Cxqi1zflNC7lt3b6su9y8SeUY/1rvl/6lO9aVx39AK7RBl/O8NR0VOrREdN41r1N1XO6GHislLjKfnuRf2XMhV7tPCgmD2P5AJED6XMhslySMSeRxywtoF0bCVJvSuB9ZB7OGNxl/bAxQ68VFI4SaUHGzSYQogDqVOi8iMrfAUdtIKZ/dpeTXYdipKG/1vGG0Ns62fk4bN9W+nWWfK91MLYssrzVL9gjRzRfnYv+WFwX6FDlRpgDerZ2ODRqXiGu3F0MfY3tG/OTDTwaf6JbuuLYPjar97sY+DC04ggPiX6BPsLypcgcHJs0e8k671gCqrJGdomcqZuxUdD0GrHzkGiR2sBJPZaP0fQxTl8LkQHsnC4lfi6WnBaF18mli5n8Sfb319807H7bF1+EPQ48s3BMaowoJS8S6LD5ERuXmGMd9NyXqudXRj2W35LH0j1w6GGV+mjJy9XK6aKDiKM//MDoNfurDQ/SlnUy1Djf8kc2aqNd53azkOVRNAw0zqQv8NU2WZuAwMDON+mz1W3b+vidS58fljfKs1x9kbL2PU6jHMFsU1I6mIX/KiNbS/1EU9CwRveunWIKlR9KyZ/LGMKuNuKPNUbbMoXaR+x3lDlHO+mazNa3C3yqe01anBW+8SKonxG8wrdkc692VIBnQp+nHZ8vPDwY/YZy1mFJ9FJ6Hlrcz7tRfYI8Os+S0vik5WizVLyBpQFhcNEwynVfU7xBrv6U+nlZOSpgHNSeyRCRMCMuQoROYpi1yFMUdzovAoUOz8OilDYsoyGMhA1rikK5R7sm3nl73do08ZRUYcyoboc+SH26P7nuLWMWNqGtAsYqTNm9gEAgnnNEq5i3dJ3/m7bxZhQBO+k4qcfubMg1Lv1cK1p4br9fK3N+C7sXLz+mj/vdf9/3q7Fn9IqCyjq86PDZfmHnnD1PSQi8RfDW2B3WXwl3a5kGPGc779PYdW3dyNv5wJzRIdl1f5LcW6ZOYJCvLhu9QoRvdlpoAyGMrKwPqc+ehWUdZHA86NWhqfvfuHnunemLA8owCNx/35njvn3KAKnOc2wY2aete3L8vEB4NzKA2ImGgHCfNNmjYtgNN1Z5oOJcBMOs08TZKwKGyhMPyIR4s0oF8E+bZg09PNC1Dd+5cZZXoNStFVTAlTUqiVD+P3kgE5WE82P504kyJw3NGCd5Z9eN9gKXsnZ3kcZFWeWbBR2EpI50jWMIrPA2LWQOCDzjXO03smvc4gBhjKWNrPfqiCDLPOmy9p04BUq9XJeZY3J0eZ0v6j04+KYrRrkXJs53L30wPyBYUgehKEWQt+MKo/k4VmmFN/hYdixZuGo6a2mAXjPgSa3kl12KUceYLx8KaMKiS6hL8PGzEzKRkaQsx0jJOArF2/Y7629o38WdA1GEMxmTXDU/BY4E7wm8N34WDKEpZWYvWZv1nbXCV/LZq6xpeR6264N3b5iwzETLKSTZnVd67lEv45Ux8xsaldk/W9GyDektR1HYb1bM7xl3zCvWBwXh1jnoi63XOhpYuhYabrlOhp7morW5eB8EZ82zs7a0QyD9Q8EzcU5wF7KGrR1DlN+0wbcVBRrOKRwhJQmjFE5p8MsyJnh6HfEJBYTMjUL4z3w4jx3DOEoJjJhjj5pQuvSZnb46WRyLk4RNNo+GqX3XJqQ89cFb6vVi28j1W7eFnKBDw2Kkqt88KCbTjjWQhim9bXvFwGOlxFUWzk0qd+zZcST9besvJg9j69a02s7pOLJckrFansSOM6xOSwtY6zZaj61XjzEfvs+CTeXuLusEp2mu9PH92Sv89S7PcsnS8r6qa1T+zio7dbQDacMeXaFphB23HZ99r+FJ/VkwVU5wVleko3xJ3zgKUCfOWSfloj9h+Gvf9k0dDho4QqE3QJ8j+hpdN/dx5O5iyHK6fWj1Tx4cG+C/2H1+ydG9dbbAfTHwYaDCGD+I0Pn7iw72aCi7cEVHJlWgHyB6B2vXrjuLgynz3PtB/lzTFDvPwmSUCbPMXOlYMVeoO2pfkWsK0d3Yflq8ZeGgx0g/s95rGdMYs8NgkEROK0QOt45f8u3zXS0OCcubhTcUHMLy53pWSl4kV5vyPA4uydJVKzxJfRz9qnkqnomsY+keGxPt0X7gxUnzgs5y2pmfjVFR9IfZfEBwEyO74Scapzy9Bqw8op14GZP97jJGgamFk9BRLcORlwhr1jkWWcc6DPZsVxHFy9YrdKwQfb70Oe5V5BPKQafsOCyOYQOYTUnpoNWBIAuLfkTaeG1S8Chu7TwY1q6Uy3fVeNDShurQJbBhVcs9wN2uIdv/Qu0jueactJOuyaDOo6bWpMVZfTpl+Ar5VlaWxXYjiY2SOuGooB2xsX3oIxwlr+WPrW2SfBb3Q1vD9HVJaXzScvStVLyBhh3tyLwQuEW91iRvELWPxcwX1MAUs+YEdSGYg2QhGKQvKq+6Kt68aohN19YVBNsyClpolTqeM+e+jlAePJaISvl6ascN9Qzp0cpdpc46lLrt1fbfTlKbX/+2SgS8XG2yxsfWISFoQSIihKEIffGDDKGGkBOeSlLScVKenWcYl+IkawDPJn7ZCk3Gg4f0tAWZ0Pi6TUGI2kuS99vMcR88A5lKKFt+0x/xJrNMrWVAyG+JgOxUsW2fPbJnqKcYdRQj2fYQCmw4YduOnevCbFkE3aheRZQFKY+i3obj1LtYJB9Eh50UFx/Vyzva4Z9vZiJfTFfHGkj+Ph2bO/4IaXzfKzMCjgQY6wtxVGjasE4Ar3AciuAYFD/8kTTu+c87s6VrXih6vXulzl6ZEJ5k4txs63TjF1Y3dle7ZpLJBtGnrtuemxJQ+MBsiwJiSPdWgZ30lMueq/VVqxW31nihhazsdZddnlrSNe780LFJ50DWh4n4wNI2qzDJ+oZGWWBphax3mrd1C93jncUTVvgOK693w0YcXlY2dvYR/pA/DIM3PjXJF8ZYCzCh4OqscTfNnrv2rPfhvTJeuxbfaTprGV1RLNBZC8+WBt5ZA4r5gF2H97483YumkqvowUrIt+OIi7dLOQdwqMgKi5xrUJXPG9YN0h3wq/SR7w+d0N+KYm9MDkblOSIkskxYs3ZOf2J2/1AG3M0RFpKgFfCBhSS7tuyatg4ewptImxiMhY7xTDvLCKwkb02uab1jnf7YXYzSR3sVw708t86E1tiiaXA+WmvhLrhwk3GA2W6OmKMf/3xzpnTHvyYVNv0KPOXk3m7KJxVOicwz4UuZZ3KET4eWDX1HBaI9CU9APfr8b8sPxuE/8+E8+JDrzhvmbnlmsrerQvqv+SYcW8XZV97buWjnOflsHr0ms3B8DsU//fjblYc6FHdRE84dWplqv+WnKza4ts2DES/en708sO5QGEd1PC4Uj2m4MMZi4iq93sKcoqLCNFc++43tPMj6zoamWpor65b2bN0iB/Iumz/OhDaVvuaS5eR9nKtdf0nksTB5045RzwX7TuP77HcVPJL+3hXjq9C7yFihLfe9Ol1+eldkZOu8FcgQ8UcU/s7i6SYNMsfV0QyOnAtWbgi0qOdE9ncP8oZ2vml4UukyY1zV7230zTD+zzqXyjFddlzSZ3WKhzcm1mDcYyFZU1Hk7mLIcgJ49Cj/9+DYgEML0QStw5rk19dC8aGuK+49UQ2I+MAf8+jGJycFeJPpC1a51k3bO2tI1POANtlhKLRb+pAP/8j3lrxcs+aKklF4H6Wv4ggj9RYqAxQTP9u1FgaDJHJaIXL4z849wNlQ7QK7XNcodN6OVRu7c9Ub9rzUvEhYm/pZVFxio7fZ9fGw4Znh08Sh2uJCTbekL0Sy07wuejIbWSeK/tB+FytPPPZOJtKwtK3XsaaX8MKMQycrgzdVx9CRz45V9MWWPoetDZzeNAzQ70r/7ZESMt8K0efrcUW9tw54Wh6TOuxYccKzyYDVG2cUOmjhb6NDsVnF4hg934ohP9i5X0z+3MJJftt5CN/GWJHFciXLo8a2j5jo1zLndHvpmsxAQ+BT3WtS4yxwro3kBO7m6GqdtNMtsjFR6YXPhtfR6cLDg5sS5J1dixZfk8/iwzBcQL6kND5pOdosGW9g1o2l8QK/qq62XLH1FFW1X93vgxa36m7dtAfZ1wIfCNd65rw0cX5AICLMqHjaW8HUEvxZi9Y6uxtch5my5cUw0b5lkJhO/mSlIySiTSziJ8bO8ZWJduGhBLTKVTzh3p62OBD6jWfaQy6M4NO2DQVlJy95+pvQRzoCAQYETeSSjpN2+HYo0uP8WUODRVyW6Au8L83jpS8wsEeGwDDob8bXe+C1oBLmtIO6SROB78FDCRXuZzBnevNcGEcxfEte6w0sz2E+EVC1sQHP2THTl3jRBYh+ESV1MKGDbYhq6mBu6ueWYWxdqfy153Nj4Nb9+/tLUwO/qVuIcFhfUWqddEAXx84QSdYIJc+5MieuPqlfYF4KXHW+uPd6PmhiqyMl6PUqhgLaOVlFU+B3x5bBozVk57PuE9697PbRkRvsjgPtLCBlYRLuuOowd/MVo9x15w9zt3ztEPfNk/vL61DBOkvJahT5zHW9o5w1r5l4Oxdyrbt0jes1nmwO8CGTrHFLmwTPycSo6hva6Dv6G+fDu7Zeayylfdu3liYSjvQx6ZUQpKce2DVQXOZvFg00xg1ovnVsFOc8BH+N2yyd1QpK1oz2zrdrzn6PQGcT/EBAwBnyH9860v3mgoPcHy4a7u655ojAUVabt273ay4Ub5dyDogDYBzewO4IsEd4jf5osT92bsDBHBUkie9FOGZJHOfw2uSF3tlz1hiraQP54cf0vOD+T49PlKq861EDOgYMNknWtF1bdg7ZOWbpbD5HhlJ+zwAgIvyw8MXQaxN8MREC5NgNq/wM4wFW2Eguiu7lo7UW7sL7NDBOmfDgeq5gjAg7okrjUjuuqL+7qOMwNH9CeFkxpGvnU82fDOvZOqCUKoT/zIfzGAtG++svOMjd+Y3DPP7kr5eNdLdfdZg/zLBjWSx9sHIZhePM13zwxpAQB89Yvt7Czu7YRgFz+3NT/PFyc4qhTfD1T46b64jwYlOheMyupSS4yvaJ33a9hfGmuhxOUkQ7QvFrlVI6n77PmgdqvZLPrkv7nfPxMHYTgDb06zVMO/ab80wr9Pgdhm94HiUVQx7TBhJp00auErzF+3zrx76Tuq3RTY6GlPYeffvjAP7juRhXJE8xrrn4OzFmSRuy4YLfGBhvf/4jeeVfNQ219NPO6az5ZnhHa9jS85FjM3SydeMMr+tnPvWu3CWvn1OHfEc26uhzy5mTdgzkZ5dmLvwifapK7i6GLEdbOOH8+P4xAZ3c8UM6RXJSoHyh+FD68Mx7n3i6Pa03E1hEudKPrx+/fyCrRJk0R5y7WuoBePD3KsKnVJBvHloZir5rHMVc0bsapU655uproTJASfHzmuBxqNaZPamcllQXAyzBL3F4BfLq4xble9hrlkxqjrDV+fnunIf92qSFzvJOxeBFktBp3T/uq8IlNn+dymNgef7ixPl+ZEDJl8+h2vKGOBzf8/I0KepdjxvcKfBb/8inP7TneC9YsdEvStQH6yzESzkuLps/Cjq92WOYMRKDY3XS0QZ4LsY76/SmcQf50N1lw6CjX7WlRUKjC9Hn+5XHuMnmM4IwoqqqcAx5ktJBi//gS7Ucf/dL0wK/actu7ixUfigGfx53zQIvq7uyUf8YKxE5RCax/YxrH8k152jHpnRNZvjm6lyTVeEs7AJsitTp4F5tAlGeeTeoe8WRkjof9zjo76eiL8h71px2qrJzU/JZPrhNyEZr8ial8UnL0WapeAO7bqwzm8CG65yl6zw7oLbbyfty4Q2kP6W+llVEBQbLmcKamN3x/BT3gzMGe3B4c8qiLA//y4/NCBe6HAXenrbEO3ues51B0jc/MykAz6MHdgwYWa1QKMLn3vX28iYuBISEAHnXi9PchUfs5xkvYECeHDfP32nObqc/XjzcU3agpNfC070vT3NXndjPK8d59Lc+M9kTUmBsbrh4hKdw3GB2dq3fvNWtXPeZ5+2NJ5wYfbMZg+wIBDhyhCWMLkf0D56DlXSc1jsvrL0ozyyDr4V2XR5lKcYma4AiT7NGFbsuGB8wFQMt3+7Rt2e7s0Z09wT9R976OBDmC+EQg7okrbDlGbDRKZ9iy4bG5uiCPh2au0P7tfM82mCK7391uh8VYt7S9X6Ejr89O8VzVKCtR0Y795Ozhzg8E/MlQkKOnpox3IybsdQ7523/Ts09hc4TY+f6Z5ufM6qn+9KwLs4yx+I9b5VXzN1bnp7sjh/ayb3w/nz33qzg+cz0q3WlIIaR4aanJzvndriLjuztZP2wPjh2RJII4eyshFByZjHnMMo8mvrpqgBDuW+78Dks9UW5dt5nb3+XouRnbepdyRgCtDKMfBi8CCunU8+2TZx2+PnHK9Mdyj+INs4wH85b6e5+aap/jA0wHLV/u6zd3wJzXTf3GG0gaJu2fu42fbbNfVS505J3H85d4c1fokRIsgKQFgTJY8/YtO81U0F+8BJzbsyMJe5oDHJK8JQ2k153lTWedA4AtyRr3NI2WVvyHSwt0EpV8tjyWhi2zoD6XT4DgLRt6aYuL3miXsHLrP9zRvXw8R6Mrz4bXR/dYMeF4QaaV6vWnqE0n8gsYvC1OzS1cQMarIVcy2zbNQMOhyZgpOrTqbnfRtRxh+VD+bFw1Ua3ftNWh+MTNGzx6oxyBUPRRUdWeDQXgrdpu5zmQBgscBbTwvcjo2e5ds0beOGQMXzDV+mE06HABCeCH90/1l8DRPe54dIRvtGFUPTwnXMqjxQDX9/wxAfekUQ4AxBd5+PFGaMj+PCskd11c4nWdFVr1r7XTrw0bt+LAYp35fQ97Q571glKQRSO+Pu+M22xu+vFCgdI+JhrzxoSMPIwHovvKsZvlN+VIc29d2s2c/GTprW5eB8Ui5pnpPCDr830+Pwpn67KMlDznrmAIrfQFBaOnjpPUMc8aUcF3R5HQ+iUlP+sCudJGxgJMVBxBAuKZB05jrUDDuScUkkWR9t5TL4sGqKMhhbXlpI/gU/jaCHB/YS6xPkcx6RZi9d4CmPdH5Q1GFoloVD2nRvecu6bJ/V3OrxtIXiMNoqBq6Sv+mqVRhqX6HzcA5vv3/uO75D/r9Gz3K1fOyTg/GrL8Dt7HgQjG1h8FoeHsY5JumwhslzYOKp6lkweC+KrMB7K4i1t1MmL742RUGAjBg0ZD7IyR7scsn8799T4eeGGG+NcImWjXuPwd/aIFyLrPT5mjmPnOOvMyj30QcNEvw/bAWsd/UR3IGOx81HjLV03+ZEHD+/fwX22dZtndHzojWDkHTZXyG42+x01berRpqkbv36pdMHjQ7536kDXonE9z5D55keLfPxU65093G8vPNgzpsWRu/3KC7whVP/PHhoXUErDmzeou5e7/9UZWbXzPY8e1DFgwCsUH0KHvnfP235bOKv+6vwD/d9hN+NnLnX/GzfXOz7uqIGZ/tgQyBzvStoj0GPnySKcd4+sj7OM6Jh0W1qWyJ4ri7y2Za48bObKZUf38Y99idNXu/Enju6GvpcSP9u6iyWnFSKH6+9VzHs7Vj0XdDvodL9991s+r/HUu/Pcny4Z7uOJQnmRJHQ6rg6P8Qhek7GB+9CtgxNxVLBJ0x2LYyfNW+nJBYQAx1Bz27PB6KLgypH7t/OqjKs/tEeOwdeBr+rUruVufRa9ZTDB28vRrJY/EhoqJewxCzZaKjyj8JSU0Y6QFgY43a8cXBExEhjc8dxHAUdKYHBI34zuPiv6cuUxttWtz7cwCou0m702sp0ZgE8SOtjebNgD3jc9NckhH738wQI3flaGrsp3E921/C70Wih/nmTN0meOlZ44Z4vffWwdvTo283Qc8MY4aciGup9/+QDPLqZl3bj2kVxzLl2TFZ8gF3yqc03a9chRajMXrfG+PfL2I2/N8ucEvcbW8ZXD9vPnkNwM7raPJw/Ib7lyVHVYsg532C9pj80V2HiwS5Es3sslcyal8UnLhY2pWM80L8j6s85s0g58H1GEJR3ev72DL5RUE7yBtF0T17JzVDhnZA/fUAtAUEpdetOrobBBGa2ZD+utAqPEHwtQMwlUhncsxlGd9CSyCsgLD98v4MGfr+4druKsVBYl43nw9YzQisGF8dg+IewsWr3R7Vu/qe9pKX2j79fcNdr7iacPO5gobz3+tZAuZWG08L6xBtgzR3QP9Q5OOk5pr5CrHg/jtAywrhtDFt9Af1db5quH9wowoAin/IWlb5yQ2cVvFbaaqZSyVjGmFekYwvBMIzKCJCIR8Ge/O+/FAYZ76z3FLtCqHBUIDczuF6kHmPzm0QmhbU35ZGWlo4JRjKmQ6TgOaMMMDJ5m8jSDQ59l3j34xkzfmDRxzmjP446+fLJsvf+dGP/Jw7p6u8r/9PgHnnCMgYhxEtKN/GIwom7W6dCehYXYph6MJdqZg2c4u2gPefIgQOtEHnCBTof0becZrwRfIIRc98i7ofCmnOx8zibMGSaduh4bM8e9PXVxQPGj25V7BCwxUBICXacw4pc9VzPtUpYyOqFoF2U7azCfB7suF+V+V1njSecAMEqyxi1tk2g/AnMrAFpFt517WulqzwLWQridO6xHm2BEdUp6tjVwYacY6fp/T/B2WzWoV9tz0NPKQE23LVxY4/yF4VmUEl8+JEPzLUw0o2ydGLQymf5ZxzVCo1152xte3zl/9QenD/Luk/xDYQou0Lumw+rBUYGjMYQ+JcXb1F0ucyBsnDzDCYydZBKCDjoB/QhLwOFLapfz0tWbAkpYyo6ZvtSjg1L+zBE93B/Uzjgcwr5xe8X3lDxy/e4pA/1d7vIsyZrOMi4pGky9dk2Lg420aQVRvebL6XuiQOLILlGU0P+HXp/p/clY5IpD4+Yt27KEWLv+yG93WLdSkVyy13aG5mW9U3Dv26m5Gzsjo9CyvA8GL5yGmEOkliH4UMYS5ypR4XQZIjzBE0nC2dIm4MJ81ykp/5kP52H0eNHbQf+J74Cp29T3KKq1o4LF0XqeSjnr+Kt5En1P/lLyJ3zfYwZ18nY5St9Q+vFnE/LGNSdlol3xHv5Np5c/mB9wVCgEj0m9heIq6lmwYoP7+cPjpUpvTvs/nPMigX0wpyLyCQrn3154kP8a50XhfXnI3MBZDOVJvmTnQTF5GO2MAO2XKCSFynL5xpPrXRJ5zNICi+tpS/PO/NZ8Wj58n6sc/BBrS/NWOPHpY/rg9/Rubx0qOdf4cz2Py99B7y0fp4/kox3WoMi9HkwqHZysXGSjaIC/tcOR1R1Ql57j/BYHb1s37zAE4LAudIFnkoh4M1QdE5WP/px7SM+ArA0PiO7HwkHqZuxx5G4pV+gVfG2dFKhz1fot7r/q2ETbDlEl9G6wQvGh5iloC90Bjv5hZx1X9O8z7+givhPfCz6btbZu0+cBfmtE77b+0WIYgXQC5n98LBhhS7/nXtZm2Fz5+4tTPcfasLmCU5vQTnYEc8xSnL4WIgOUEj/buoslpxUih9tvlvT3zU9P8pzipbzGKzz7zj1v+1E4vn58X3dApT4LXbCeA/D7ny5b77q0buxVVSgvkoROJ8ElzDktqxC1WEcutrhLG7At3QPfXX3Hm6H4jnr+35f6e8YdnM/j6g/ZQOAUH8d3YtOIJOCtv512NsiHsymfJYspmYL3lrfW+mILA3T119wZjvOBAcdCioELxxL4L0miC5Df1anPrwoG9MniAe20In3mmoQOUs7iP3gOK5vrdkR3rZ8Vel8If55kzdLfs0f2CGy8hGf7f3e9FbqOOFqQzX9J7SO55ly6JitmTi74yLyqrjVpcRa47Zf/zG2nuPio3k5vgJT+4rBpcTjOBvo4bMnLVTacyjNo3Lcq7Zfg2DuvPtyrz+K9ML0AdSSl8UnLSb+Lcf3G7W96zsvUZY8SRe7Stu2/XD7S5znfNBFj2aSvHRVqgjcoBjyS1hG0wCWtpYjlYPAvCPHqsU18/bj9HcZ2nazBRN5pZpBnEPPrzj/Q6fDCVqCwCkiUMBggbLJ1E+3g918d7hv/UHqF7YTS5UACPzpjsEc8qB/jaa5ICAhJEjpXM4eUE+HI9hElsU5McjzJw1LScYbVFfeZ9kILM4jp+jAUaYMV77Txjd/De7dxg7plfzNdDwqKX33lQNe3cyZqgd3dFdYXy3BZJMv5jHYXLu3q785vwiR+97SBfpfsvNv6eYYJ9TOZGwzpV6jIIvLatsUYv19pQLNEQjOMYV51UicwPXtED/npXWXs2sGAF4Tz45nuBxFQcC4CSa/dmPEAhdmW/FI54/rBGYOKs2NRKfylfmCvU6eW2YYAm4f8rFcU1Fx10uOUfN84sZ/jvE5SLkYer2kEExTwWlDSdet7QmRLsnXq7yh5bIhsCTUq74d0z+wIlGdyJYRpMdOussaTzgFgmWSNa9pmneioUyuT+W0Vs1ZQljVLXsvQSrhD3mkDAL+tE4I1BKD4Dq4KSkVLcyt3tEtujNIIVVqRznmyKBElabjIM652LULz2WklBgzy2HFr40CWEdQoHrq2aZzlwCTtY+TWfZbnVWc+S6kAACAASURBVF0xff7lfx+6vz75YZVOClLXuJkZo2pSvE1dFhY1NQdkXGHXb57UzzNMhL2TZ/Bf7MjXuHnPPbPZXHggnQZ0aeHjaf1c31MnSiLLT5EnyZrOMi6pXeTUaXkMi9vtez1/y+17Xnxk78DRKRqucg+/9LsLD/a+se2/pVmUsfDTjkaWLmqFVD7e54zhQZlC+saVOfPzLw8L8CNa6arzxr0nSphNJ6poCryLkkfqSMJ/5sJ54Pjv3POWY+cnhqiqEnIJO10lWRxtwx1aJwXLN1cnf0KfzxjezdmoFDIWuUJPfvHlYVl0luh9OtlwtLxLisek3kJxFfXwfeA15c/SS/LIO2lXrhi4bdqqlOX2nfzW86CYPAwRPnT/9fwphiwn/Y96TSKPWVwWJsvbsWh6YPGlpt+a52YMYnAnZLCV5fQY0Vt860tBRxwb5UDnr+o+Ln+HwhNHzFwJmdczPlVmAO6iJLX438LTwsTK+FbZrPlaW7f0T89BeYbM/c2T+8lP75qP/kDDzz9030B+fti6wT8cwUNElzhyd1bFCR+8Na1qh/qwqsM2nxSCD7UcI+3lw0WLVm0KwBLag95B69LQT1ymjhdFlurdoZlUn3VFR6Cj5pBBohvEmSvwlegLJCXpayEyQKnwM+PRdcv4uIbN6zhyWiFyuO5HIfezl6zzaWWY/gbdltBS9I2SatUK8go8F/wleQrhRZLQ6SS45NjB4bpkxsB4v39a0Gk/IKeYaD8ybjsv+M7IdaJLT6I/xDgr0YilHblS/y/OGxaQL7XMYOmrxTt2nWe9XxfcGKYdry3tlz6FwuDMId6mK8mTxbObiEfVqc+vCkb0WeMBjwc0m8BkXEnoIGXz4T9wtHb8Jr/+xtJ2oddC+PMka5b+si7CdNV2Dp05vLsfOTqpfSTXnEvXZMXMyQUfmVfVtSbtepT27ZzgOZG2cbAOS/Bsgnfl/QWHZ0dekHfg0lz2S+ig2C8t3rM8uq4vib2lpnmDz7Zu95ydhfZrhzIZm7zjqo9Et7xBWNTO6uYNpM81cc3W4NZEL0ybxw3p5H5+7gFOE3OyICzimf67rx6ctXuDcCOyACGA13/lQIdRg8kqiXuUfzddPirLcyiL0VBhZKU8uyQvOaq374Qgz7lCAK8+sZ/X7wAzuuce7voLDvSIg1WO0x92i994+ags5TchQy1yoDxOHIMrDYv6DBrqsvVL//p3DjoqnHZwt4CyVfLJNck4pWzSK99OL2T77cPqPXZwpwDjGbbb43unDXKEXWTu6IRigt3yf7lsZJZnmDagUyYMgVrlqs3D+WOc30uoceajTQO6tPTmKIxVZoY6d+UJfb0oApLfhrOS5/aKlzZhINmFYhNjveLYPu7aM4f43z3fGFF+fPuUAYF+M784GuOq4/t6MOe3JNkZRUipUw/qljUPyYug/6dLRrhRlccooGjhN5EndF3UCbwO69fe3XbloaHjkXbjXO15RTgPaEUfdRH+W68hvHNzzUN2gvB98SwM6z+45+avHeKG92rjd5OdHjoxZzBOXv/Iez7u4j2MDN/qlq8d4m66YpR3FrSES+I9RE3WijUkayFQ2lq7KdiuNa4wThgPOw6+2Q8rj92Rugq57mprPMkcAH5x17imbZTXnv7yPfSuMuaw/ZbrzXFC2nOWEN6SKNew8pgbvXOY99C1zKqvKGHnnzXYSr1RrmeN7OEdgWOVxpRlHXIEFHhMEoKR0HyesZ5YdzoxHsKn33jZyCzHMbtjTisX8r2jfmDM2tC0nuf0HWcwS290n3LdvzRxfsD7nzoYL7tZiaL0h4uGe3hZl1+8KmMQTIq3qa9c5oAem73v0HJvd8MlI7wIQ3p+Qy+gpzivwjdqHE4d4MRD+2Z2+zKX8La2CeMuvAK0SScU14QyhVcYtm9r/cq/j7umKchZ0zrpXTY8X73RnINtlFAWrwsdpmy5fU++AXwuYfL1t6OvfC/4cugpIa5Jlj8JUyit2WTgpyIqhNFar+KQujXvRhSDH581JGsOoeTiuBAiHwxUzq9hPKe0E+cKTLSSil2nI8yRUwirrHFJlBF+Sp7JNQn/mQvnsetMOyjAJ33nlIHuz5eOcH+78lD3mwsOcicPyxybRh+WVB5RY2kXOM3SEMtL23VQXfyJwA5ntl+eN8zj3TUuAd70BQd56EkYb85uGUngpbPNETG8S4rHpF6uheAqyttv/f/ZOw84O6qqgd/03nvvvQfSCCEUqVIFFQEBRfgAET/7ZwERxV4RFVGkCEoREOlFICSQTiC99943yaaX7/ef3TPvzHmzb1/bltzz++3OvJlbz9xy7qm6bHtvxzj4wbpDn2uYN6nAjoN80jCp1lG7jui5Lu214y8ujaRN95rpecz2Ia4NhQcSdBrt0PtUSes9Vm5yVpA8ev5xPtVepkjDOL90VDf3o2tGua6tG0fq0TRSuriQdJnSd+S7ZHR3d4nyjsQzaC48ILKnD+2aMETQY8rSpfZcZN9bIwdC2mjQZ0XLK4KHo9dl8hXRbgOCc5wVzpc2JqFX77xyRMRbqLSFPYLwlb+/aVzomSCTc7eUk+vV4iDd8uL28VzWwyHdWybR/Hb/0G1DceTuq0cmfS/S8M2uOb23I2yruHyXvPCRNPOdOUJZ7IPwcEb0ahPSNVpRSo8z6M7f3nhqUt0yVjBW0mMlm7ZmewYoy/W5LM9pfJ9sz+HybXO9EpovXdDj/9R+7SJzHFrOKqPmQotks09ns5b0aNskUL5kTgiwTp07rHNA0w/s2iJcq3iv9xDZ98j7hXP6B55CNc1FeozNODtoZaFs+Yff+sTwJF47PNO7rxoZtHGw2k803WPXbN0H2rjT8tjsWc2c9XR+67Xy6tN7R2grwQHnIzzSaLBnQD2+JF158fNtWNcOhiZMZ42RNnPNdB8kD+sfa7KmTeHJoICOfGbr7uiZWu/ruu5c77Olz7OZs9JW9iGU/jRdKO84s6FYjexHQ1byETvWi414/JwswmxlmZN6zSJ8NWu75jHQWtY+xgXhwEsCFGt16G54ONorVly+kuSX0Fciv5S1X/Knotuy3eOzzSdtyuVqx0GqsjjT6P3z8jE9ImvYtWcm+ApSTnnTBlJvRVyrHT58uMiHaRnVvm3vkZxKJk4zmkF8lJLcuaWqgM6t31boatesHitwlrwT5q53D7w2T36680/qEhxawgfmBm0ZQjXUq1XDNWtUN4mxaZKHP1EuIDZiw7q1XYtGdSKu58NE6gaGK5YUMC60cEklKdPbbPtZpo3KsnAsb4gLB1NCe9PIsriMsrEob9u9LyAimjVI/d0XrNnhfvTUjKD8n10fr3yQqnKEd8SPBJo2rB1q96fKE/eOuYMrKmIQY0mjF9K49PoZjIwdhQcCoWqqDYg8zHE2Q4St1AOTvSoBeEI7EJfVWJxjMZg4sqXuCWExvvP3KWEitFxhwlm44/GpoeUMm9pfbjvDJsn5NwxNsYQk/rsOi5Fz4eVUQEXN8UzHQK5zvJzQWWHVyD6JhUm7Zg1i1x48kdzx2NSwjRDQX79saBBWhj2fvHEM/zBDHm4QBLDWYXXcoXnDnPYVwvUQE13gDzePT9rzCYV19xPTJUkgWEfhTkMu67YupzLfEx943fbCQPGuJGUy2368jkDPsLZhTZoKEPzAeOEgZ62cSsrn53RJmIk+L1or9zkEb03q1w6s0lN/jWj+8voF3b33wKGAeRyn0V5e7chHPZnQn7o+vtV1v3kzVAiDGYUCqYV/vbfMPTdlefgYpmq+196Kok9YNxBcoqSiBUlhZ80Nawd5EDqUNm6yWcdMdYFSUqZrlS0jm99PTloahGpCsPCXL52RFm6yqaeq58nXeaws8SDjsEb16q5t03ql7o+5tiUd+k7XAQ4JV0IoMM7vFblfEJ6MsS9AGD4UGfHCQIzm5o3rZn3mljLlKmMHcgW+AULtVJDJuTtVORX1TsYh62a6dB1t/e7fp7iVm3cHCqt4YUwHoAU3F+x1h48ecwjV0qHzOF/Cq4BRnwk/xLYHnsfabYWB4EC8L9g0+nemba1MZ4DyPKcV0ZbZ8WI0vsvrnvEOz4WxF6egb9uRKS1C/mz36UzXEnDPuRv+VDa8et1X+gk/EGXQ0miubPiHwtfGsCJOsKvbUtb31yr6GlrqwdvPDKpEgYF2poODdNso/c5UbpFO+d946P1g/yMtigIPffmsvO3Tme6DtIF5VbtG9VD5nbl2za/fDLtCGx/+8lnh77K6yYaXkO2clT5gzAYtUqdmjaD/VvlH0ulrPnmnfk5qzKa+L8s5GVcz6yryCs6n6dA8P392lsNLrAAGphjvpANlIb/Mdo/PNl86/SyLNBgKbtheGNAFYjyYqp7ypA1StSPuXYv6UQ+2cWlSPUv4oUqVqgLfISwrzVojVfM40MZZvug8bIJvzV6rH7lBKhRA5EXxDwTdJcVoiUsvz2DM8pcuQPDlSvSlW1dcumz7GVdWRT9D2QXt/YoAlEzSUTSBWLj3xdlBE9EgjvOQUFr7OUDHxTwuLZ99z9xJd0OyeWFSp8uoZo6XNkdZhOev2WGrif2N1Vu27Y4tsJSH4CkTpoouDmUODfNX7wiEAsIEYW16fuqKUEmBtNrdqc6b6z2Eez7GTa7tyCV/Rc3xTMZAPuZ4Ljgqj7y5ztd09kkbe1ncEsPYKK91nrqY+3F29rOWb3F79h8uFd0wZbHYtlbgc1ZujXiOgmi994WivUEKHdA56i2J57ms21JuZb+iaJDp3pgOI1D6zcEAS6F04USY0zAfJi9KhBpJhZvWjesFlm5xaYrWynrOOf4qLxQpWBZ5eCitlbmud6WVn+v7dOlPWw/CN2gQAazPYWBr2u7D5VsjSgowqvV7yZvrtaLoE9aNTNeOdBgL4CObdcziMdO1yubP5vfKTbsCJQXyYvVemjAhmzoqOk++5nS+zmNliY9MxyHCR1GGL61dJ/dsFQm5Rfp06DtdLjjsEhO+T6cpr/uNO/dFqhIPdVjhS3z5SIIcfmQ6djI5d+fQrDLLmuk4pCGvz1oTKClwf/nYqMVoqobC27JeS1Ol5x3nS+s+vLQ8ce/heWRSTqZtrUxngPI8p2VyDo/7LuX9jPGeCX87U1okl30607UE3JfGx0sXv0X9TC91OvxDW1Jl4Wvb0Jnas09ZWPuX1u9cznjblbeCgZ2b501JgW+X6T5IHssD1l7heK89MNnxkc/fmdLnucxZaTeKCZnKp/LJO/VzUr5E6deynJNxtXM+T5dOJSyWVlIY3adt0ryKq0OelYX8Mts9Ptt80pfyvsIXzoQ+LU/aoLxxUekVFcoSITAifvHsrMByTrtHZCL379S8LKv2ZXsMxGLggVfnO5jBMGVvuzDZsj420wnwcObSLe6Rtxam1VNifLYz8Z3TylgBifqa2Je45EXDmsMrBAwa6mjHCjAurlPuheW5v1YdDJwIc7w85quNwabdKVaG0fC7F2ZH3C6X1CYO4SgqDOnWIrRIIO39r85zj01Y7HBBiRY0GvIaLjipSxDWQD/z9xWDgRNhTjPf7n9lbloIxm0x4YtOFCiP9a4icInFBbSIXnv+96+TAsE9TAi8TtgwAjrOdkW02ddZ9hi45+mZQSVYFl80okvZV1gBNRyvczofqHz2/WVu1vKElVWqMglJWNUVoHX/bGzd1sXhinQaf18+GMBqVvgC0MOZKJeWTwt9LZX9nHY8f6ETYZ+uyt9va0FU6a0sFHwzwU+2ZzyUmTWfEo/UlQ02FSTCZNK2uDAZlaHNfs5W7Fc4XuZkPrD44BvzI8VcdVqvyG//o+pioCqtM9WrLppzb/nCtTvcmq17koQJxDJCIOjBY6C8MdC7Q5Ng7BEzTcc6LO92VLb6cNGYLmTr3SDd8vOZDs3XWy8YmFQkgoHlG3dFiH8UqIif3bxRelaeSYX6B5UCAyfCHC+P+WrrsHGIK/Jj47ZLKz+maotYUVxxSs8k6xriuy7dUBARFFIWIWKuOr13qmL9u3LEwIkwp7GkTxcI13IigV2LUvW9KtEn9OPLFw1OOg+h5M26pJUUULgiNuvQbom48anw4N9VXQz0atc0sKy588oRZR4moKKwdDzP6Vxxivv7dKGyCgTSbb9NZwWvLU08cpve/y47DEg4jHH923l6uOzQnFPJdh2tTOe0nDpWBTKfCPt0FfgMJTbR7iVtm1Wsl7lsz3jwOghBec6wTu4bnxjmBnSufIaeBYUHI98BA5DKCH7OVuxXOV7mZK5YnLZ4UyAflXLGD+wQhlGRZ/5adTFQldaZaocPH0749SwDnG/bm7AGLoPicyryiYlL3AvTVoZlwEBEaIjreA8eAxWFAdzt4kbSQwIDxGvbsTsaJiHxNnrXuXUjl05Mrmiuiv2FK9UXpq50M5dtjrhahvmPIPOsIR3ducM6OVxqeaj6GDje53h5zFfi+E2avz4cDN/71IhK42Hg6LFjbun6grBtqW5wDSguMw8cOuLenr3OvTxzVRDnXOdDUalX+6buynG9jisLRd3Hqnx/vM9p3JTi4ScdwDKoIkOWpdPGfKYpj/Uun+3NtCzC0rw0Y5WbMHdd4N1F50eh9qQerdwVY3tUeLxf3S5/X3YYYH87evTYcU2PHu9zOpfRsXrL7iB+dmll4Nq8V/vji59y9xPTHWMDaFi3tvvJtaNLQ4N/X4YYON7prjJEXbkUXZnPaeWCgAqs5ETYpysQvTlXTXjIv725ICyHs/3Yfu3C3+V9czyf8TjD/PzZWW7P/iKFhU+N7RkJrVneuC6pPj9nS8JM+Tz3c7IIz3jPnLdme/CDMDRfvXSoa1i3Vvl8BF9LmWOgPNeZFvVzk2ee0IoKaGgQP+3Q4SOuTbP6jpggHjwGPAY8BioSA7hQI94bREHj+rUrsim+bo8Bj4EKwsCxY8fczsKDgVeVVo3rHtdCoQpCsa/WY8BjIEMMEMd22+4DQdzYFo3qHLcW9RmixSf3GPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8Bg4oTHgFRVO6M/vO+8x4DHgMeAx4DHgMeAx4DHgMeAx4DHgMeAx4DHgMeAx4DHgMeAx4DHgMeAx4DHgMeAx4DHgMeAx4DFQvhjIVVHBuxAo3+/la/MY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8Bg4oTHgFRVO6M/vO+8x4DHgMeAx4DHgMeAx4DHgMeAx4DHgMeAx4DHgMeAx4DHgMeAx4DHgMeAx4DHgMeAx4DHgMeAx4DFQvhjwigrli29fm8eAx4DHgMeAx4DHgMeAx4DHgMeAx4DHgMeAx4DHgMeAx4DHgMeAx4DHgMeAx4DHgMeAx4DHgMeAx8AJjQGvqHBCf37feY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8Bj4HyxYBXVChffPvaPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BiolBjbt3Od27DmQVttIR3oP5YeBJesL3Nf/9p6bvmRz+VXqa/IY8BjwGPAY8BjwGPAY8BjwGCgjDNQso3J9sXnCwMrNu91fX58flnZSz1bustHdw9/Z3hw6fNT94InpYfamDeq4r182NPxdFW/2HzziFq7b4Q4eOuJ6tW/qmjWsk9du7Cw84Bau3eEa1KnlerZv4urV9tMnFYLfmbPOvfnR2jDJFWN7uKHdWoa/K+PN/a/Oc2u37gmbdsenT3Z1atUIf+d6Y3Fyzem9Xd+OzXIttszyl+WYP3L0mFu2scBtKdjnurZu7Nq3aOCqlVlPqm7Bqzbvdn9Re8DYfm3d+Sd1qbod8i3PKwYOHDritu7aH5TZoG5Nx15eGug8pG3VuK6rncd1rrT6T9T3Hyzb4t6avc41bVjbXT6mR95olNdnrXHvzlsfovWzZ/RxfTo0DX8fbzf7Dx0J9g36Vbd2Ddeqcb0K7eLidTvdSzNXuTo1a7hLR3dz7Zs3CNtj9/yqQAeFjc/hhm+0rXhdyqaY43FNmjB3vZu6eJNr37y++8SYHq5+HX+GyGZs+DweA+liAFpne7GQvWb1aq5Vk/LfK1LxcRDsP/3eMrdr70H3sSEd3dDumZ+RjznnNu7YG6KkdZN6rkb1/JymWMe/+uCkoLxHv/KxsI6SbuArcaa757OjXdfWjZKSvfHhGsc6KHDtmX1c7/bHL60i/Syr64I1O9yPnpoRFP+3Nxe44T1a5e3bl1WbfbkeAx4DHgMeAx4DHgMeAx4DHgOpMOC5JKmwUwneIaRasWlX2JJ8Hei27NoXKbdds/phHVXpBmHns5OXu8kLN7pNOxMHdfrQuH5t93+XD3ddYg7L6fYR5sHjExa7D1dsdXv2HYpk69W+ifv6pcNcw3q1Is/9jyIMzFm1PTLGHNyUSg5TFm10KPEI5FNJgTLnro7i5PCRyoeUsh7z7y3Y4F6ZuTo6NpwLmCs3njvAjevfTtDvr8651Vuie0D/TpVXscV/sPLHAMLv+16aE1Z855UjShVSz1i62f3x5blhnts+PsiN6ds2/O1v8o+BRWt3ul/9+8Ow4FnLtrr7/mecq1Ytd4HC7JVbI+tpvoQUYWMr0c367YXuh0/OCAQ7NKtWzeru4S+fVWEtxHpUK/1OW7LJ/fHm8aEQuirSQflAJtad97+SWGMyLfOea0a5rm0aZ5qt0qafOH+De+C1eUH7PlrhHFawP7hqZKVtr2+Yx8DxgIH3F26MGHs8/rWzy71bJfFxjh075r732FSHQjgwa/kWd+enR7g+HTMT3KMQhkW9wF2fGengT2QLh44cdTOXbnGj+7Rxm4v5Ko3q1Q6KK9h70K3fVuj6qXMIylfDu7cK9uLtu4uUZps3rOMOHznqZi3f6kb0ah02Zc7KbRFaBR6Oh+wxcPRYAn+c3VEEOW945+wL9Dk9BjwGPAY8BjwGPAY8BjwGPAYqGANeUaGCP0Bp1W8uiLrQa900P9YAaLxraN2k6ikq7N53yN3x+NTQsk73h3sObbz/6iVDs7JSWLx+p/vx0zMjgmtdB4zGrz30nvvR1aMqxEpDt6Uy3m8uiCqOVIQlSyZ4gamilRTSsUzOpHzSWmWayoaTshzzMOXufXGOm7Z4UyzaYFgh2NiwvdB96tSesWlOxIcbjRvVNk2r3lpdVt9t3urt7vUP1wTFXzKqm+teBoItmMD/nLjEwbw9uUcrN25A+7LqTlblbjJ7+Z9fned+dcPYlN5JLF3RsoIt0rPqeBXLBDNfA8KJbbsPuJaN6+rHWd1bV8uVbV/JqlMxmT5asTVQ9tDCjcbFApSY5OXyiDZpgIZAuXhA5+bB48pKB+GFY96a7Q4r4y+c0z/vHsJEwKVxk8n98TaGUabWsHRDgWMcH89KRbq/6dyX9ZhMpw1VOU1lp1UqArfa0wDGCxUBlt4SPs767XtDJQVp1wfLt0QUFVgj/v72Irej8IBr3bieu/r03pI0vNpzZa40xaNvLXJvzV7r3prd3J1SrMBKmS/PXOWeeHeJq1WjunvgtjOCtQuFtHtfmB148vryRYODNY2GsQfioRA+zM+uH+M6tmgYtDcJF572DL9jNjcoruOZZ++Bw0H2JyYucWcP7eT3lWyQ6fN4DHgMeAx4DHgMeAx4DHgMVAoMeEWFSvEZSm6EZXLi0i8fkHRYzJMCRD7alk4ZQeiKf05LUlLAuk4Lmznk/+HlOe7+W0/P6OC2YcfeWCUFWz5eFmAifPXSqh02Ix2cZ5pG3JFLvlyZJ1JOWV23GDfFZdFeO+/Koo5s8VPWY/6vbyxIUlKASa+FTrT9+akrAq8K7ZT77Gz7dDzks0zIfO0BxwNuHnxjQaj8M7Zv2zJRVHhxxsrAYw/4alSvVqVTVNhsFFkYL7ibP2NQhxI/8SblJphEwjgvMYN/kTMGmsaEosqX63exYpRGNqkggYzUXxbXF6evdP98d0lS0RW9HsaFGBPrUxpbGemgfQcPu0feWhji8oaz+4f3+bqxtE4m5UIXNKh7fHkqa94oGpKHs0T1PLlnzwS3lTVteYzJytr3fLWrstMq+epnJuVsVJ4WK+q8VRIfJ26fts9QhMNKHmjRqG5aigpxtEYmOKtZo8jLE4rA/AEoVvEH9O3YJPCWUKN6jeJrtUDhQnsW+vmzs4K0rHvVlNqsNZJpZtbFIJP/lzYG8MgFrf/SjFVBHvhfeOY4uWfCi0XahVXShFv3bnW/mfrbpNbdNf77rlb144tOSOpkFg8e/uhht2T70kjOC3td6MZ0HB155n94DHgMeAx4DHgMeAx4DFRWDHhFhcr6ZYrbZYUQ+WLKJpVbxRQVnp2y3CFYFSD8AmEYcHdIWIvvPDol1DBH03zS/A1u/MD0LWHve3F2ROGBcr980ZAgpjRhIH5RfAin/pnLtgQKE8ebBZjgNpsrzgixpBCAKZvvMApSdr6uW41lcr4t18GJDh9St1aNjJRn8tXPksopyzE/f832QHgqdSOIuOHsfm78wA7u4KEj7ifPfOCI8y3wr/eXuy9dOEh+ntDXJEUF71EhGA+4oNW4ydfeaAcbYRIEKqPnoY07CqV54fWxtxcFoRxYY+LAemGwzPG4PP5Zbhg4Z1gn9/6CDW7N1j1BQded2TcMD5BLySh6EUdaoKKsRqX+fF/pH2FKCMsUB20qOGzZyT1buSFdW7qPVhZ5Vrjg5C6uc6si69HKSgd9uDzhBYK9OF8KM/r7XDmuVxLNfeTIMffTZz7QyRxhZ5o0iFo6164Zv25FMlaxH1ec0sMhdNy++0BA933xgkFKfFfFOlMGzS2PMVkGza5URVZ2WqUikKWVMttW0F6RxG8pNjiBb/Hpcb3ckxOLFPB6tmsSWMNrPEW/abyhivUakWswKWiTId1aRvgcDuSYOgAAIABJREFUtAna4qZz+7th3VuFTSRkGCF64IloepwEV43v7c4/qbOrXhzeytIq7DvyLizQ32SMgbOGdAoVFcj85kdrjytFhcNHD7vdB3cn4aW6q570zD9wbsverUn4KjyUfE70uPIY8BjwGPAY8BjwGPAYqKwY8IoKlfXLFLfLWiW1LCuPCnkqtzzQubPwoPvP1BVhVTBa77pyhBML7FaN6wWubHFHKPDqB6uTmKbyzl5hDKzcnDgUYcXw3U+eHMRfJO3Qbi3d6YM6RASvHAw/c1ovW9QJ+7ugMKGkABKaN8zdvXVZI9POtTZ5Vt7ZuacoDqn0ozIptpT1mP/r6wuk28H1xnMHBF4T+FG7Vg33lYuHuFv+NCFMg1DqlvMHuJo1PCPCjsuKsgoLP04luflg2ZZIS8piPqH0hmBJIN9rgpSby5U2WkBw/cz7y9zV45PdBJNWM86PN8G2xUVl+Y3SyE+vG+O27d7vGtatlTfFPWuxX1YKOxWBR5QdCb8lyh1xbWhTwbQrFo3fvHxYYFGKgF0L/SsrHTRtSUL5qixCXPGd8DRhvU3YsUq6UX3anBDCKvB8702nua279gVu0nGf7iGBgfIYk4najr+7qkCrVATWxSU+dUv4gfJuRxINr/asi0d2dWcP7ej2HzyStF7STkIrCJSklFdY7PafdO3yoIyBEvCEueul2vBauP+Q27knerYnZCIKmFZJgUw8O3r0mKte7KHBrv8+5FiI2pxuOJd0bd0o5FvNWbnN4aGmXu3jj8XbvlF7d3qX012r+i0dHj08JGPg+iHXu2U7lrnF2xa5GRtmJifwTzwGPAY8BjwGPAY8BjwGKjkGKiUVi4Vtwb6Dgbu4FriNK9bGBpdFh6FqLk5gcPTYMYf2PK7+Gtat7Tq1bOjq1i6dkMXKedWW3Y5DGIoAEPxlreXN4Y64wvTn2LEil9LtmzdwaNhr0FbpCOTFQjIVjnbsOeBWbd7tQFv3tk0Cd9W6zAQeE0+1pShxLpdtLHAdWjR07Vs0SNvqJ90+JWrN7m7C3HWRjOcO7xwqKciLk3q0CqyWxK18JvFyXy52oSdl3XhO/1BJQZ7hnQH32gIbtueurbxn/6HgcAkDUzOPjx075lZv2eNwkRgXjznbcc93ZtwDWJow/vIF1r1jqyalKyow1vGSQezuBnVquaYNarsOLRtGxl9JOKLdyzftcjt2H3A92jUJ8uq+yBzn8N6zXdOk96S1jBYt8Fm7dY9bv73QNWlQx3Vr3SgQruvy7T3fZP22Qrd2W2HAOOrYsmFEOEh6Xb7NL7/TwYmkzeValmOe76Jxy7o8rn+7SHMRlmJNJK5FeYlAL1evFqyFh48edfVr14y4kj5w6IhjzqLcVJKnDxiHWKsTEgSPILSRtmsBQ2Qdblw3MlZp/5ote4J1uFf7phEBVqTz6gdzcsXmXYEgs1ubxsE4y8QLB2vwso273O59B12XVo2C/SzOuoo1Zevu/UHNTerVjoxn9sH5a3YETNMebRtH9l8ysBZt2FHoUJjo2rpx3r2CwFhmXaLfnVs1it3racf0xQkGLntjJq7C051XM5dElSHSFYriin/dtsLAtTdzvyw9FlhhqAwn5vS5wzoH30meyZXxIVDaOsT3WLx+p6tRrZrr0qZR7B5EWfmeC9nua9Kv0q4lrQ3MoRWbdgfrT8cWDZL2oNLKLek9yiN79x8K1gjmGG7f9Vpi87F+LN+4K7A2Zx4I7WfT2b1Wh/GgjNVbdgf0bI+2TZLoS1uWph1ZfypaieWh/y6MKClAH/dp3zTwYiVt1/2VZ/m6sk5irco+Du3F+LffQb4rde4/eDjYK+S72m+Tig5Kd7ynooFQ6GBfg05h7Y5T9MPLA66hBUqb/5IuH1eLjziL2sg6kuL8B21fUJhQIqtft1bSt6Es8CUQl0bepYt/SZ/plf3s4OEjwTq6e+9B17xRgiZOtRYtWLMj2IN7tm+S1D8Ef8xvFGTi3tPGksoGfys373JbCva79s3rO/apdM69We0HKb4jbcxlTDJHt+0+EIx75iJKYCgtWoXOkvCQzXpPnZsL9rv12/cEwkDWypLoSBknZT2+SqNV+G6sTwA8FatEJO3kyv4EjQygSAxthYINYOlFzlQrN+0O5hm8k3QURssaF0FDi//p8CoDuzTXr4L7Q0eOunVb97iNO/cF8wC+B/SkhlRrLnTeum17XJP6dVzXNo1ix0FJfBy7hlnh8tpte0LPkLSnpPOQbu/gbi110zO+h3d0x+NTk0LyUQft/esb89267YXumtN7B7+/9MDEiPdEXeF/P1rrFq3d6X52/ZjgsYwhSRO3dzMfNb7YIxi7QKpxC83Nt4R3YPlo5NXl1uQ8Vy/qxUfaRLrSeHOpzk8oedD+Di0aJK2njPsN26En9gRn0k6tGkZ4PdIGe6X/pZ2J8Nj1wGvzw6xL1xe4QV1bhL+Pl5v2Ddu70R1GHS/dKZN+oMTBX50atb2iQplg2BfqMeAx4DHgMeAx4DFQ1hiolIoKExdscH97o8gCF2v2e28aFzArf/XvDwMX+yDlyxcNdiN7twnww8EA60EORRYQWH/+7P6xgsnJCze6v725IDwESV4ORsOLBd3y7JyhnQL3dvI72yvx/p6bvNwtWLsjtggOor++YWzwTh/WeKAZW+8t3Oj++nrRoURwtHvfIffnV+e6WcqtK/kuHNHVXXlaryQhmm4AzMrXZ61xz01ZHjkkwnS46zMjY/En+TPpk+TJ5fq2UhCgHIQxFmDQ4k5WrGFhYHHI1gd6m4ff4HCRckHPgXdgzGGvfbOoUN9aTMSVXdqzv7w+380otp44c3DHwDX++ws3ugdfnx+6dv7LbWeEAs9sxj04ePq9pQ4hFvcaGHt9OzbVj9y1Z/ZNYo5GEpTwwzKk2zSpH5sS5u1rs1YH7eEbWUBA/LmzCBFQFLYjDkdPTVrqXvtgdYgjyrj9osFuVO82QR///vaiMManlM+YufbMPvIzuFp36CjvwLT53QuzI4J2xhBhQE7qmXB/KQWB0Xdmr3OPvL0wEjqEfuAeWkNJTKdMcaLLzOa+rMc8+NCAK9A4gEGoFRVgoJeEo7j8cc+++fD74fr+pQsHB9abj7+z2L0+a3UwNmTtlLzMiUnz17vnpqwI9xp5J1e8qaC8BOi9StZulDL+9Mpct2R9UTxXyXf16b3dBSd1kZ+RK8y8P7w8JxCO6hesAxpKskBC8PTEu0sDBphOz7i7+bwBbnSftvpxwGT/6oOTwmf3/c9pAZ7++PKc0CqHlzCe77pqZCBQJTTHfS9F24jQ7ofXjMqLkhNz7fcvzo6E9KENzLdLR3d3l47uFjDPcTGLQE6Yl6Thu139qzfC/nzh7P7ujMEdwt/cZDKvWGdwRY3SlIbvPjY1/Dm6TxvHmBKASfrGrDUBLWLXMqzcbv34INe9TWNJnpcrAgW7juuCH/7vAvf1y4bpRwEedJ64OcY69vzUFe6/H60J91AphPTQX11aN5JHwTVfcyGbfS3SkDR/6LXhfy8e4kb0au1enL7S/ev9ZZG1mzXi7quhgaIx5tOsJkwG3Uf5AjefPzBJYYtx89CbCxzeQvT4Jg+umG8+f0ASgz05/nX9QND0h5fmhuEIpM5LRnVznzy1Z4QW5B20MPSkHbfQP6x1FRXvGHf50xZvCpqPIuUdV57sHvnvIulOcE1HMBbJkMYP5gdnCuaABZTVbrtwUGida7/rTecOCOmVdOigTMe7poHOHtrJXX9W3yCkAAIkoXdpM+smnsD6FNN0KBs98t+FgZCJONYCnEX02vnbL5yalrBR8mdytWM1bj/T64jsz6z39vyHYFjioNOGk3u1Djwz6fa8M3e9e+StheEj9l/2YQ2Z4l/nzeT+nqdnBkoFkuf3N40Lz3R6LWJPGdq9pfvTy5zltoTrO+fSH1w1Mthr2Zfue3FO0jlS6F6pg6stm33r/QUb3UP/jZ59UUr63qdODgRsOj/3ue4HJX3HT43t6aYt2ZTVmEQhh/nJGUnvZ9J21q47PnVyoIBh8ZDteo/iyysfrA7OyXoOUT7rwjc/MSz8ptKOsh5f6dIqrJ/PTl4uzXIINnHxb2Hq4k1OeyOEdsRb4P/+JUovokj+z3eXOLwVavz369jMfe2yobHW3GWNC9sXfotiGbSwpr927TvoHnh1fkRpS/Kzltx0Tv9Q+fXBNxaE+5CczVdu2uX+8PLcQIFd8rHmMn+hJQRS8XEWrt0ReAyStOCakHfwsl6asSpy7iQNISIkTATj+8+3nh5klT7yY3j36DlTyk73Kl4b+ndq7v7nvAHu6w+9F9BDv/r8WPf8tBXu7dnr3Mji/tFfFIJq1qjmbr1gUDAfseaHtmGusPaO6VvEp6N+rbDOb6v4yznonqdnRMYTtDx7mwBK7pSv4d9Tlrun31sWPrr3xnGuReOEIhh0zRf/NCGkb7q3bex+eHVU2J0JHwslJXt+wijqN89/5CgH4PxB24FUY435ohU2mjWs6z45tkeQL50zkSiXDesR5Ucs2XB8KioEiPH/PAY8BjwGPAY8BjwGPAY8Bo5rDFRKRQXtljiwKtu0y931j2mRw4swybH8/+GTMyKMZf3FZi7b4lZunup+dcPYiPUaApEpi4oYoDo99zCIJ83fEHk8slfisBV5keYPrHN/+dysJMaSza4thKxLZ235pAXj4AiN/+//Y1rSQZDyYY7jgUKEXmh1ayY4h81A2DtrtW1OIKz71b9nJR3qSJhNn8j37UenBIz0pMpSPIBBTUgH2q2Zv80b1UmynJFi8KqhGbdo3JfG1IZxoOGkHq2TmPq8b2A8X/ANcgU97hEK4rEBJpQAzAiYlUA24x7c/d8jk5OEoVI+TATLSLg+hpEl6VNdLUNamB86Dy4tmYeayaXfcw8zUCx7+G1x9OjbiwIlBZsPQTGKAT99ZmaSwJi0KEf07tAkIsDVZZOGOWWZJjynvb9+/kP36xtOjVh7w8z97X8+CpVNdJvoh441yjvNnJC02eDkvQUb3JMTl0oRaV0RPImiRlmP+Q9XJOJh07jhPRJMPN3YRmZOFY2hZAsonSfVPd9Jr3MoQfANEMoJIIgXwDLqR0/NiChqyTt91Rbseswwd7B+/Mm/ZsaOaRQkurVu7Pp1aqaLC5RoHv5vQpiiX741O6p8Zz0JYdkDsximZhww7n7/4pzAQlyHprGWTYw7GKBWUEkIHJSaYPDa2OLUR3r6+/ubTourPu1nM5duCeZUXAa+I0JDrNYuHtktokgWl55nzRWTkt+ZzquJ89bHfkNdHwxFAZR9Stp/SYOnGGiYn11/Suial/Fyz1OZueVEmPSjaxIMVr0XUg+CuDc+WhPSQygtonjXp0NCAW2zCRWh6QrKQPkBhmtJypS0+zt/nxIIZRCeC+RjLmSzr0n9mVzt2sB+iwIkMeQtsLejHHPPZ0fbVxn91vgho7X4xWsPwkwr2JBKaNvtD0x0v/3CuIjiKNZ/GhrUrenueDyeFkSwx/dG2UqgpD2U9yj3MBZQViBPPsas1JvOFavE/7t8uGPMnjagfUDD0wYN2huYfp7tPfTxd/8+JeLJQZeF0PxbD092v/zcKYFHHk2Lkw6hrEBpdFA2412PI+Y29D17gAXGOPTLA7edEQjrGOM6pJlNL7/F0jpXukLK01fddp7H0UA6Tarz3+yV23TRrlmMIpHFvxZekTkb/EcqzeCH3XPxegHYtWj+mu3uhWkrkr4VtAzKRF/8+KBg/WVuWkDA/MdbxocefKAPNA20bENBQE8/8No8mzVYd+5+crr70y3jI5bA+dgPSvqOe7HGV2H2khpV/EDGJD+hs594d0lE6SsuH/jhbAtYHGez3iNkv+OxqSWen1gXvvHQ++7uq0eFyh7lMb7SpVVQftGKCtMWb05SVAC3j74VVQT71Kk9I2du8Ll66x73z3c3ONYIC9AN9786L0lpKBtc5GO/OW94Z/fM5GXuilN6ht7BGI9f+1uRAN62n98YDHAuEkUA7ZGRsYNXsTsNT4p8jDPOgL/8/NiQzkuXj0N+PIgCKIvYfS54of41rZ9QnDylb9uAn8U3xvtSLgCf4Xc3jgs8bkDfi0IO3kYRvF8+pkfEG8c3LhsWKHQw1/5SbNEPjQHNiTK/9iZmaRWtJIvikT1vU9/Yfm0jigpamZ1+gvMXpiUUQHmGFz+91nPm02cbxoRANnwsu5YvWb/TPfbO4sjagEc7oLRxz3zRtDZKzSgqpHsmEmVp6yECxUQPHgMeAx4DHgMeAx4DHgMeAx4DVREDlV5RAaTCfOEwIsCBqHXTImvnH/xzeuQdB59e7Zs4mFjC8OVQOmXhRjduQJFVNgd7raSA8PfU/u0CIRPMBguUaYVLNk2q39R/5+PTkqwzKRfXwihTCGivCZphx3t9qNMHZ9796MkZKQ+2aJuLooIW3pMX3CK4LQlwP4yLUc1Yz7ZPHHpxVZopNKpb5KZvxaZdkazd2zSJ/NY/ateMxoA9rMaQTqfv7SEY97lxEHUM6SLC9Lj06TzTh1808PH2oUGUc9Cyz2bcY0HFdxPAwmZA5+YBU0TmirzjOrZfu4hLeP2utHvLvLfCsH9PXeGenhQVrmPx0rdjs8BdvrZk1sxsjSPcJ/IXB4wzBKj2e+q0WNtpS3NdNul+98JHkbVF5+Ue7yNYqwtgCSseMeQZaxWWuBrv8o41TEO2OFm2YVds+bpse497SwGLo3yOedYW3XeYYFYhQdphXefqNV/SZHLdvicx1smHlbJl/hEmBJi7arv7+bMfJH1vLG8A1kABPR7tOP9ZTBmSjytea/RegrVwnJICwi7mgMWBHTP3vTTXTVmUULygDnB85NixkMHIM4RZWCLh3hmwe4u2Og0SqH9Ydz2nQgWoV8Et+wlCVinbvi/tN4IQPDlogMlJX7EoFYHMecO7uPp1awbKWlr4Qj7mmbhb53fbpvXC4rKZV+y1MJiFSSuFgVuBTi2LvOrAAEUBTK9Z0BSDu7YI3MaLIIZv+ezkZe6LFwwKisAFrJ4bUm6qq3ZjTDo7/nBBfeW4Xg4vMgJ/fnVeoKgpe5b99lr5hXXhmw9H+0I5WO/tO3A4Mh7/+Mpcd99Np4VhkWxbMp0L2e5r0s9MrrgB1/DyzHhFH0nDN4TJrnEl79K9WqFp68aJMYqS1LcemZxUFHuHHleMR4SVX79saJjW4h2FqFQALSiKCghd8EYkIJ5/GGczl24OvjdjXixE8zFmpa50r9Z9sRX8lLSfpFu+Tff8lBURJQWUgwZ1aRF8B7GWxAqSsEGApcW1Mqz9NpoOyna8azoFWjoVPc2aQ/xwaH/2FL6lFtjQfr45YV0AXLxLuIhc6YqgQPPPeq2yFrUkt+tTSee/zQVRJT6NW6l2446oEo9Oky3+pexMrlZhgO/AngVYOiXOM6DUhWLKL5/7MNwT5bm+IjwWz03bzTrHfppqrWOvfW/BxtDTS077gVGgivuOnGkyGZOMZ+g06DUNzNH+nZoFComaZkK4CuS63sseH3dO0u2A7hI6trzGV7q0CsqmjDnBD/sKCpZ6/Zy6aFNkvzmlX9tgz1u4Norvf7yzuMSzF/jgHARtI0pb2eIiH/sNe53sd/KtUJDXtB1nYcKzocgjZ0qZQ+SRMGnc79x7wN35j+TQCFI2V7zs3HpBkdW/Xc8ifJyC6Pok7wjFSFvsWs1cEejWJqGQ0LVN48DzqLzL9SqKQRjOsD9gJCL0o7yTOph7AoeOHAnSC51kvVBZXMh6DL/jrieivLxLR3ULvaJBf8o5wM7l6Us2JeGJ84jQLLRNK3zTHzn3M0bzwZt7YuLSJFqesyXrJ4oreqyh3Nu4Xq1YTzDMzwtO7hIoC6d7JhLcc9X0IqEnTxTYvm+7m7D6Xbd+93q3++Bu175hO9e5SRc3puNoV6dGQqFH8DF/6wK3aNsit2bXGnf4yCHXtmE716VJZzeqwyhXs3qULf7y0lfc1r1FCswjO4xwfVskvNCwrz8+9x/u6LEifsrFvS9yTes2dQX7C9zzi/8TKEYNazvU9W/Z301bP81NWz89qO+CXheE5Rxzx9xHmz5yy3escKsKVjrK7Nyks+vZvKcb2iZB50vbVxWscnO3zHMrd650hYcKg772btHbjWg/IgiXLOn81WPAY8BjwGPAY8BjwGOgKmMgSpFVkp5Yhq5YDXLoRQmhRvXqzh07Frhkl0M3TUcLGRfRAAKprz74XtgjLAAEtGCIQwva76L1jUUEsegFcGut3QXK83SvWGf9/JlZkcM/Gu/fvmJ4EP8XIaFWVJADHuWnYnJazXRRsOBwjHY9QlgJDUFZMFgk/qHg0/YBIQfa2RyurGUx2u6iqJBLnzjkZwoc3nCrB8Dw0KAP6/o59/RDgxZk6ef6npitGog5mQ4IcyqdtHFprJcLzRBDWMr4HNi5RXCIIRRBpuOe+YC7VwHKJKQHuCUsyA33viWvAsbhH24ZH1zDhxneENdZg2bewyy1SgpisUmeu/4ZVeoRZobFkZQ/pm9bh+eHCfPWu39MSAhpRAAvLrNnLdsSieGo22gZyZQNjhE43vHpEQGzDsUR7WkFIY8AFhyWwUwMT1wzw/iHcfK9x6dGGBbSL8rIFifk3WHc00ubUl21sL0sxzwCOA2dlQcD/Zx7XOdrEIGJfpbJvV3ntJICY4J4vSgN4GnFKinA2Pz8x/oF8wOFFK2o0FYpmFghlTCkPnt6H3fawPaBW1y8AQis2ZpYv2BCIkTWQDijG87uF8RZDjx6PBV1F633B8afVlJgLmPdhGCPucI6oRVnnpm8PHDZT32bCqLzk2fshV+/dFhgCXbXE9NCbzQiTKd8Qp6wdvz46ZmRfXLjzr1ZKyrgcUMzZL/zyZMCBSraxLyctmRzEM+VvR8g/A0KH1q5AhfxF4/qFrzX/7KdV7/43CmOsYvbbAGEk9/79MnyM7yy5mhhMvj/ysVDAoEF6pU33fd2aNW6ZkuCDslq3hYLXqRySwewzo7u28a9NGNl+P0Y9+/OXefGDyyyok+mKxIKU/+ZtjLSFxifd15ZtP4h1PjO3yeH5cI4nrRggzuj2Do/l7nAd85mXxM8ZHq1a4Pk79iiYRA2CLkt3i70d4UG0vNP8qR71cIO8jQrtp7k3lo4D+ve0t1y/sBAcIyLaR1yhDGtFUct3qU9WF6P6dMm8BSB62oB+sR8Q+jxX+WxhfmNNXW92kXHAujFKQs3ud4dmoYusPMxZqUd2VyZTyKwIL8VhGRTps3zpgohB63+k2sTnjQYN6xX0NgC9rsKncx7TWPwW+igbMd7HJ1CuXzL2y8e4qCH//jyXIf7bQHoIBQVoJP4I1yC9hzC/I4742T1rZWCmNSvr3oP5nmcp610zn8Izew6JrjV9WmlDp4LzZUt/nXZmdxb4ZoOeVHSWgQNceqAdu7+V+ZF3NOLYgp73rnDO7tH31roJioPgHrM2bLx7ANw1vvm5cMCepTzqQhneQddgVIjkNN+YGgMaYs+xzOP+Et3TKKEpZUUGPff/fTJ4fjVIUygZ+TMJ3UHnVL/0l3vUfzTZzLWStZXCYmDov/EeRsCmpH5X57jKxNaZWCXFpG5v2DN9jCEJmjBs6IGlB4BK2CW8UIIvc+M7+VWbtodWMML/UseaGa+dS64yGoNMjSS7g/3OwsPRrzsERpTextj/G/YUehOK6aXaL/ec+SesyGhUlAqQEldz0Htpc6uU7IGxeFV3nH24O/63/03PDMy5h68/UzbnTL9jeLEw18+K+06SvOsZtd2zqGMmR8+MSOCY4wkCFEl0KlFw9DrALQL5xsJeRDnTU7GJ/lZe/X57ewhnYJzHWVky5uz5yfZ11iP8GoBXU4omAlz14f0Mm25aGTXQJGYe9mLpY8YjXzr8uFB21A2y+RMJGW0alKk4M5v6LcTAVAAeGzO45GuorAwY8NM98rSV9xNw290PZoVhdJAieHR2X8PlBR0hpUFq9yUdVMcSgk3DP28696siI9MmpkbZrote4uMydo2bBsqGPDu8LHDgQKClDWu87hAUQEFghkbZgSP1+1e5+Ztme/eW6P40QVrgnJ2Hdjl/jrrr476NfD73dUTXbemXd3nh37eNanTxB05esQ9u+g5N3H1RJ3Urd21NlCAeGvl2+7m4f8T1B9J4H94DHgMeAx4DHgMeAx4DFRBDFRKRQXL+AOvxGFF6CcwYe66iHUsjF1RUiANTAMNnYstSYVJK+84tIiSAs+GdGsREcA0qFNLkmZ1xXpNH5oGdmnuvvmJosMIBVoGgLaYtUIILVy0VmWURWxD0RRHeIAgRzMOYNbAeLWHRfLiAp04zHL4Q5CH5wkBDnUCufQJzfz7bz09YF5IeaVdpU2kQ/Neg9bm18+533fwSORRvWJlh8hD80OYEPLYutOT5/oQyTNh7sv7TK87dscrcMAk164csx33i9cXRJpEbFgYHwCHayxKtIIOz3IBOz5bFbti5/shkNIAo1y7Jt9SELWEZ8wAcTgi320fL7JQhrmhFRXIA7PgG58YFliD4FHlgWLXlLzT48panvEe/Pzk2jGhgg4MLa2ooC3hHlQhOsiL0PT8k7pwGwDW5oyRQ4cT4zcfOKHwW88f6D53VkLLv7jKlBc9XstyzO/Zn+gvDUo5Xw9EGSswAnMBu7ZSFoKtX37+lMh8xc23VvzB1S2x3AU2GaUbvQ7H7VVfu3SoG14cL/TcYZ2CsAVSlnbqQlxVvY6gAMBYlnnZsG4t17Flg4jFrOwPME9xr6uBuMtifczYvvaMPhFFBa3kFce4h+nas9jDRL+OzZPc+n7tsmFuSNcWQZVDu7WMrBfVQnsr3aL07rHc1aAttqpVq+ZG9U4Ou6SFMeQVvOhycllrKMfiKK4O0mgFJSy/REmBMuav3h4qKfC7U6sijxbcjx/Y3p1k4sryPBXUrhldly0THGEd3/6v5g/DAAAgAElEQVSGs/sH4QqkLNw5QxugUCdMVXkn4xmGLmNSgHEITSBWkVheIhzTa6geU7nMhXfnrY+0K116Ttqa6TWOBmKvILyDzD8YzoRfEtA0kDxL92qFHaxtsv8QlkSU6igP4dlXLhkatgNrSeLKay9g4F0E4nF417HqEVIT3kHTgghwqQerTQGEenp8sUcQZ1lDrmMWBYuJ8xN0pS6be9ZdwYt9x++dxkIcxnw+gTBTWjlFr0XUw/zS5xCrOAHdJOOH9CXRQdmO95LolJ9/7pRwnkL7a0UFHTqLNlnFFhGOWTzmSlfY8vjN99egvYrI87jxbM9/QVnGGjlOUUGU7KRssbDPFv9STqbXJJpWCVPj6BSEdOedVOSefFSfNhFFBerG2vuyMUXCFOheLSTV88fuYeRF+Pj9z4wIhfjMce2BR/aHstgP4r4jbUpnTOLNRHv+Y6/92XVjQmUlrUhAmXJuCMo3ShM8S3e95xyu9wHyorDYu30inBLfQ1vgl//42kezQoijVXgJvaGVlOav2REqKvBcvj1pUdaVvd96QuE9io8SPg4l0v6dmkfKFtokF1zkut+ECFE3KzYl9jwe2zUexTz+BFBssMAa/+PPjg4Vzy4a2S0yB/UekoqPY+kQ2dOpj/1a79lNGiQ8F9j2VJXfMiakvc0b1g1CS2neAwrBN5+f8FRIWgxGdHgE6AC8jzJetRKClEtoDgF4Jhok7EMufKy4dfXkXq0DRXC9/uIBR4PmUaKYoAF6S2iHbM5ElMXavqSY12P3fV3X8XKP5wKtpFC9WnXXsXFHt6Vwi9t3eF/wJ3Q7ngvum36f27AnYbBTq3otV7tG7cAzAThBkeG3037nfjD+LtesbjREY7Y4Q2mCPw2N6zQKeKC/mvJrt2N/Itws7W9cp7Hbub9o3KzYudJtLtwSKCo8Of+pQJlCypG+oqiARwfqeOijh9xXRn1Fkvirx4DHgMeAx4DHgMeAx0CVxUBukqAy6LZl6FIFTGvNHOTZW7Ojhw8Y6Fg1EyMcwYE+cEP8Y0kAWAtfYdIHLwPhRJSR1rxhstswSVva9eChI+6l6dHYeTefNzA8jJBft5Pfqax1hRFnmaPkQwFClBSkXVjNaKvvwv1FgsA4xhjCXH3Aws1zBIpdw+baJ8rUriYjdaTxw7r8TiXM1IJkik6VVqouNP3WAl1Jw9UeVHNlIti44dRx3Zl9I0oKPMt23GPRr0EYtjxjPGnGig4/ovNkcl+gmDvMP1wKA29+uDbCfEGIopUUSKPbElhFFYfwiMPRLcXuNclnheI8u/WCQaEI1Qrki/U0SJb0PXl21Wm9Q2EQvwnTokGYSDDfxb0772kz65EGcKwZqQg0xGNALjiR+mrVzJ6JVZZj3s7XVIpfWOVr0DFY9fN07y1TjHxYrOg5TRxP/e1YY61lvm2XMMDj1mGUYURJgfqIwaxBj7m3lRCUNHgVEUaV5EkSyBcr/CxeVxDZO2Ao63rJzzPKEyUMbV1qmafsHaKkQF47V1CAECUF3u82CmO23dL+tK7iU7Y4MWEUmD9nDekYrhu2HPtN7D5O+lznlR0/cdb0MOE1IGhFOAazEAapZVRqS2z221SKO7rcku4t/SD7EIokCA+EaYlCDPGpsRy0+3/TYhoHS3IZK9SHIEIEFVJ/JxP/eFVxGKdc50K2+5q0K9PrZqMMR/6vXZZQDuD33mJ6ScouJoHkZ0bXVBbV/5m2IlLWFWN7JK0DKCtqRQU8sxD/OQ7vQ7q2TFLuIV6yVoYQWhBFIAHGyO0PTHRXn947yB83p3Mds1jw/uu9hIcZqZsr9V1W7BFNP9f3lu4SV9k6TS73CWwUlYLw7u4nprtPn9rL9emYEF5JHVZxwtJOJdFB2Y73rTHj9ubzB0bmqR23jepFaQOtCADOUYiLgyLaK5o3Ll26zywNRD4rUE33/Ede3Q9+ayEfvxFQaPqDvooCbrb4p9xswAok9X5l9xn2hItHdg2rKdx3KLznhj58alzC2hhPNxr0OW6jCb9AutsvHBQqKfBbPBVJGYRiAnLaD4wVOuXFneOlTv0tSxqT1tqf+PXao4qlaeS8TB25rPd2j0eJXyspSB/0tfzHV1RRIY5WoX0o32mYuyrhecXi95NjE2PM0hmcpUVJQcrr3b5JRFEBj2BALrjIdb+Rtumr3vN4jpIOgm1otzi8WXqJPHia0OOrfYsGEVpb01FWCUfns4pb+lxu1wU5d+i+VKV7ux7T9h//a2aER4XBhOVFkQ76RQPrBXvtqypslX6vx6v2GoUSRIvGdV2ufCy71qA0hQcsvfbSHvF0yj3rtuw//N5mjFMiSpeGEEnnTESZej3UY5B3xyMs3r4k7BZKBz8766dB6AaUEhZsWeAOHDnoejUvWscmrX4voqTwyX5XODwgAGt2rXW/nfpbd+ho0ZqF8sOXRtwWlp2Pm8FtBrv+Lfu5/Yf3uwGtBrhJayZFlBQu7n2x+1i3Iu8leFp4bflrrm2DtkH7aR8eHwQu6n2RO7PrGa5GtRqOtD9576eBsgWKDQu2LnD9WvaTpP7qMeAx4DHgMeAx4DHgMVAlMVDpFBXitNet0A+Gqma6gnntGld/CZgeWI+I1rxlZs1fvSNUgsD6acbSzWF2tOph1mUL7y3cGGH84yZR2iFlrt8RdY2urZvsQVWsjyxzlLJwE2pBBKnyXIQY1joCgYQ+4JBeH/T4LQobufbplZmrkhgX0r6SrmcN7hhaF1l3dnWL3RTbvAjadP9haFsGhc3Db6uFXq8Eq+5126KC/x5ti9ySx5WZzrOtxjqMcYugTkM+x/3CNTsCF++UTwxjzdAd2y/h1ljXn+49ZelDsow7GNXaIorysF7XkCTQaZSwmLQ4QsFBM28sQwmL0c7KgtnOJy1UsAIQGArnDE94cKGNtF+DMB0mL0xo6PP+zEEdkwRNds5K3bnihHAJ33k0cYDV7Ut1j6cOUZQoyzFvFZ4khEtc2+ycIn5xLmC/N0wqPR4o+5WZifjs/L7uzD6hYovUbZlSskbbb0p6wg9psOOqWcOi8YxyhFYGaNesfpJSEuWUxMgUAbHU9THlbUie2StzkvEGD8xa+n58RML7B/msIsDHlXeQuPd2X7N1p/o9oFNz95piONLOJyctDf5Y+z89rmeSwoLFq+yNUk+u8yquj3FMbC08Jg+uqfmLAxTPhnVvFb76/YtzIt4ywhcpbm48t39ESKLHOAIuzd+88ZwBkdAVL05f6c4Z1imyt8NglTwrNkU9W5xlrOlpFoJEDfI7l7mQy76m25LJvRUcEotb7yWUZdPI3M2kHklrLaq1oFIzs9n3rcIRZUSxnvgdh/erTi9y1y11cz14OBpWR+g9rPq0NSNKgn94aY7DQ9Dlp/Rw55/cJRwflJPrmN1iLOp1G6VN+pm9t7RrvhUVateqEVglavoXZaO7n5weCKawCEcJSMCuo1oIVRIdlMt4t2OSOa+Vn2iXdUutlY2giTVdLLSZ9Eeu+aArpCy5aqUNeWbPY+mc/8jLfND7Z5xwe7sRBAnNlQv+pd2ZXu24jyikG9ofi18t8LLfE+VeCWlAO+z75iqkjB0vKBzioUWDHg88l708p/1AKSpLXfYcL8/TGZPs9/rMD72kY9BT1kZzlo7iOKoEm8l6P3VRlL6/ZGTC25b0QV8rYnxZei2OVqGNrAWss6IMTigQ6H889GiFXXgVTZUFv6VDPzGme0ToStlJ46hBncBjmP5upEuXV0PaXPcbyrCA5zILKJXyx34IndZBKaXbOcS5j5ArETh2LHLm1XwjTaORR9OqWnk9UAyrkeA32b2lbbOoonyk/irwI84jojakYQ0n1GpcGE3tVZKubtu13x1uczQIayVdhwf293cWBT85Q+BRjTr1PnBhsQJYrnws+20+fnLXpPlAQ/CaKKF6WBfIJ3SmDglIWkJBCGRzJiLvUe2yTwo7jq8I/QWOHDviVhWsCsI84OGvf6v+8iq4Tl43Ofzds3nPUEmBh50ad3SX9LnY/WvBM0GaJduXuANHDrg6NbI3VAsrc86N7jDaXTXwM/pRoKggD7o37R4qKfAMrwqf7PdJee2mKiWFBrUauI91PSvkZ5L2/J7nhW1fvnOFV1QIMedvPAY8BjwGPAY8BjwGqioGKp2igj3UwYizjBVtGVoS4mHAj+vf3n385C4h44W0CJk4EIkgddqSTYEL7bZN6zkb644Y87nAzKVFcc2kjMHdirw6yG+Y/B+YNJrRKcwE0geMuHpFlk9WSIMLS1zLW7CHKWHUaSYseU4f1N5mDaxC9UM5XOXapzmrtkcY47qOku4PH00w2RvVjVp4oRkfB1rhhPc92iUzJ+LyNahTM2L5fvDwkYgFtuTBXbOGHjHMD/2+tHsrDMXCmW+uIZdx36PYpbuU99g7i4LvUL16NYcASwBmyXlGKCnv0r3a8SljB+twzVzGesJ617B41RZ3Fke4vNVg146RvVvr10leE7SwyJZ91pCOEWYxBVk3wsLQXbox6kqU8DEW7HgUAUuuOEE5QwuabL1xvxlXoqTA+7Ic86zDGphPcQAjVDOUWPdTKTXElWGf2XVu/KCoG3PSz16xNZJtYOfot8MDTxIzsVh5za6veCTQQiEKTpoLxS6fl5kxYy3dyLthe7RuGKQioFi5OSpUltBGujNWUBYoa8UIeSjXxii33mgGFod8kPLtXND7lqRJ94plOC5+iedqAWuo2au2BXHitScMjXu9N0r+XOcV5aSyhJN6dDvkmb7SthG92jgUQSyOZy7bnMTc13nj7uuY0A/bdycYdVboB7MdJUTt+vahNxeGQgrKl7WZe6z0NXRokUxTwCDWgNcmwOIhk7mQy76m25LJvVVqsx67KEtb+fLb4jej+ozrcVF2whpaC3iEPrVlWxyJhaHd8wJaMOa72fyieIplKC7V7R4CU/3xCYvdso27gpBi0p5cxyxrOmHG4qBfp9Jd7Za0nsaVl+2zL180OPCiAA40UPcvnp0VeL7BLTpg26MFhPadzDX7LXQdcl/S+cUKvOPGbVK9KsyAnafSJqlXrvmgK6Qsudp2se9YGteO57jzH+VZBR3rNYI01ouYzLlc8C99yfRqaRG9lth31jOepU2tgN7iVfpJG+06ZxUOSWPrb1kcai2X/SDd70j96YzJDw2dNlgpC8m3mLp4k9wGV03fWzzEzZuS1nv7vDQF2ooYX+nQKoIcG9IIr0vPTk54uWFOoogggFKQpoF5LuufpOFqlSWghXPFRa77jW6f3BPO8aZzB7gHXouGTuM9e+G3H53sfnTNqFBx2I7lM4ckK6LbkDyENBAoiY9TsDcaUkLnIa8ds3o8S9lV6RrnEVG3H57crGVbIgJ7eY/HCg2cFycv2hTSTijffGxox1BRgbTrtxVGvFCxp+INBciFj2WV5ChvXP8oLyKoJOA7NXEzlyX4gPc8NTOYOygGTVPrFUYX2tglmzMRdeq1XCvLSHuOt2v3ZgmlMcIf/G7ava5FvRZuZIeR7pSOY4KQCdLnTXsS+8OwNsPkcXgd3HpwKOzn4cY9G12XJlEF/jBxhjfn9zw/KcemwgQPcUT7k5Pe6wdrdq0JfxYeKnTfe+eO8Dc3WmFj3a61kXf+h8eAx4DHgMeAx4DHgMdAVcRApVdUIDavBesyDYZXz/ZNgpiT3ds2cQiNRRBo82JVj/vjx5TV40Tjvpk8aNbrg4MtJ53f+tBAepjIGuau2h6JUc47iVu//+CRUJmC55oRZxk7cvjSZSNg00JhrGzAE2CtI7TlCe+tiz4YFyI0zKVPlK0FK0Fj0vinv2XEPV4QJiB62JfiJphvmm4scFwvYmUiAEO0XvPoNOFAbQXqcYwzKSOdq2WG5HvcIyTDmkpiF8OEf3nmqqSm4e5TxknSyzQf2L6IsoFlplnrdorX8d75rcemLVePC9La95phy/skhm4xQzYub9ycmrkkwXAgT99iwYoV3kl/SSNgLfeF6ZQrTqwHCqkv1dVarpblmLeCkJ174ufrJBO3XFuep+pLqnd2nbMMfqxGtTAKRpZl7tjYxC2Vhw87nkRoq9tkXQ7Ld7djxo5lynhtVoI5wW9RNOMeRpcG3JlasBaR3doUCQgLCg9EklolA2vhiLAoqjLlnLaOZX9IJ6xOpFLzA8bxqf3buf9MWxmuUZIEPL+/YGPoYYbvpoW7cVbBuc4r6rYCotZN6kuTgiv7gG4HD/HChAIWNAi0CHu+FcaRLi5vpPASfsj44TVjl3IE7HrHc2gd5pakm7U8uoaJYJU9XysKBdZ9Md6kEFxrEKFzTnPBWD5nQs/ptmRyb9cGEfxLGZYZzTcsyUW+5El1TR5L9YLkVhioXT/r8mzMYhGW2T0vbt9CYKs9JiFAknUOuu5n149x0MDsUdq7A/VPWbQx8HrEOMnHmLWx3HUf07lPCoWjhPDp5E8nDbi996Zxwfr7xodrkoR0uAoXQZ3Fv56DSe+aFq0fuZxfLP1txy39s/Vqmtm+a9ssuqYJfvJBV0hZcrVrhAjE5T1X2744Oph09gyk+yjlvfJBlL6VtTMX/EvZmV7td9PjxK5FWokh6KvxuGD3ayvQ1GuIxeeALtG46JRvzzJ9OzYNzoC57Ae23pK+I/XbtHFj0uKvi/KURhl42pu1PKp0Knsb7y2O7bwpab0/bGgNfRam3DiomPG1L9IUS6vol8O7t3Karn191upIiKoLTu7ioIUFNK3HM6zbtdIoz6AfPjT4J6TICkOnZrK352O/kT7YK4qxjPPnp6507y/cEKHjqPeZ95e7r1wyJMhm927tUUfKtYLvvh2LlO5S8nHMvJb1Scq0ih9tymCvk7rK42pp8pN7tQ5c42glfvhyrBXW+yUK2pxDRGEGRer3lSdDFIFRvtfeQqBlNG8P2kPOMXY9yYQ3Z89PnN3EaMHiEc8bGIII/cUe+PSkpTZZ4MXDPszkTCR59Voa55lC0h0v1w6NOrjxXca7CasmhF3atm+be2XpK8HfuT3OdR/veYHbd3hfGNaBhE3rJntAxTOBBhQJ8qWoUKdG1MCK9qBYIdC0bnJYMXnHdcf+nfqn230wev7XL6tXL+Lz6mf+3mPAY8BjwGPAY8BjwGOgqmEgKoGtBK23zCyY/hbqGqvCk3q2dreqWPU2vf2NxfjhI8fc0+8tDRn4No211rbv0/lthfIctDRoZQmewzzG9SygDxz81odYy5jS74LMziXF7julb0LjWw57kta2yzIptWAzlz5R351XjgiYSlJ3OtcmCm+WSWddoFMeVorWpSBjJB3QDETSr966x7UzY/CDZVsi4waGjG5jOvXYNPbgbOskfa7jHktBLGrfW7DBVh/+HhOjGBS+TPPGzmG8lQB2TDepH3WrhxLFWhNSQ49tiyM7Fuy8SHq/K8rM0+9t2bpe6bZV7BhbPKfsfBJ36JKP0BC2fFHAyBUnMJ4RqmQCIqSSPGU55jXTnPpWbYkKOqUN7xhr+jNivB9I2nSv+rvAILUKOHYta2RidbOO2FAlWgnFfjs9nqSNdi6I21drTWU86geCGIRkGjTjXfYJeX/kSILpIc9eN/lF8c622ypJWCs46yXCemqIUxSQNmRy7d+pueMPl62P/HdRICSV/PPXbA8VFWwImHQEXpmuNdSbND4U8573xuFNwEj9/pUjpMkprwg8/njLeIcgJF2AyaoFBHa902NTysRjzRVje7onJyZiuco7rpIHxjBtEoWGOBeyCHPemh211unWpojhZ8dUJnMh131N9yfde2vlaJm6lhmtFUXTrUOns/iR9d/We9iEaKAMBCXiPpjfrN8yJ+36IuXqul9RYVV4PtZY/+FmHs8b/LH//u4/syMeFhau3e7aNO0QjI9cx6xuVzb31g233buyKTMuT4O6tQKrYiyLUe753QuzQ2EWCkJ4lOEbWPxrAaF9J3RQLuPd0hFxAnorlNXKgklrRgnCr3zQFRav9tuls0bEnf8o1wpPbVm4sUcRXIN8m1zwr8vL5N56INJ0kaVTWIc12H2oacMo3WzXFv29ddkoE+qQEtTBXmsF/CiJ5rof2LFf0nekDemMSZvGnlmffX+5RllwL9+bH9mu9/ZbsD9iAKAF+bbiihhfdoxYT3W6jVZZRVt8099LRyW8KZDPfsu4sxGCeq30izID3ygXXNCWstxvoHtvOre/+9zH+gahx/75boJGWrhuR4gyu27F0ZtJZ8Pi8Il2bmrcWbzavduOeZ03bFwVurH9IbwBYSbZX4XuZJ5Omr/BjRuQ7OUTwwZZ0+HvCE3EOJHzYseWDcK5/tbsdZExSRg5ATtf7HqSCW8u1drGmfPuq0a6+16aEwmtQpulz6wlongq7ZNrumciSa/3GTyHnAhwed9PuEGtBrrXV7zhFm+Lht17bdlrrn3Ddm5om6ERVOw/HFXW56X2SsDvxnXiPX9FCsryR90aUcOCwkMJ46i4IvESsbNYWWFAqwHunO5nxyULnrVrmOD1lpjIv/AY8BjwGPAY8BjwGPAYqOQYqHSKCpYRF8eI7NAyqrwwZ9W2IHay1cKGWfXh8i2B9ZMWtsMGumhk18AdMxZaxO/FiuXfU1a4V4qtzG3c9my+Y93aNSMHJbwciAUiluNWKKtd/9lDrNamt5r2IvySNuLK0QoUiGsKWAGZPaCRZmtB1L2z/ga59ImyYZblYn1r3VEjdP/8x/qFVqsc/n753Kygr/LvY0M6hS7TebZ8067gwNu+eX13slFgsJr1fKdRvRNePTjg3v/KXCk6uF4yKuF+jgd4ZECZAZf6KLxYwXAkc/EPy1y2VlUky3XcI+RCoefGc/oHgggsEKjnzsenhWNx38Gou+O4tpb2LIk5U2yJbL+7tt7EIur+V5NdceqxVxqO7JzRDFvabBklmrltyxZBkPSVsDARJkD92oFFDu+ZQ/rdkvU7A6tq3sF4+XOMi1FhOuWKE9Yy21Zpc7rXfIx5GJXrtu1xMEFFIE79oiAgTEys9GAw6ZijT05aGmGGEn8Y5R8NC9bucEvW7QxC3MTFcNdpubfrnPZGIGlZyzTg4pf1AyYS8Nc35ofMJEmnlQXseIv7DnY/a9mkiEHRVClfUfaidTvcOcM6BdXQhntfmC1VhlcRKvMAi0CtjIWluw6RtHLTLjdDhadhDcJlLWDbrecY7+1c0H0ueh9V+Inrd1BRlv9gsN124SA3fcmmEP96n7Lts+2n2lznFd9AxizlafpBugW9gacisTxFKETb7NpN3PV3iX9s5kauym2lfUdpJ+GvXpqxMuJhSd4JXcGIhwEv45X+IyDX3/6NWWtCyzDy465WvOLYtsSNCSlb6pa5kOu+lunagAKShjhFG7uH2W+q86dzn9z3IuU9S8+geImim9CyKIf8/e2FkSouG50QJNlyZV+RDNCC2nqW56cPTA6BI+k7tmjobj5/QEATyDOtpJHrmJUys71uMbSpFdrqcrHynbpokyNcwuAuzSPro05X2j2C20tHdXNPv5dwj44iA2A9PGjFATuGRHCay3jXdAb1x+1rWjhNGr122nmqaaCgQ8X/8kFX6PK4t/ho26xoDuh0SeO5BEWKakVbdJi1hnqAIt3PnvkgfCc3sk/kgn/KynS9IY9WrIC+EKVJS6dYISiKbHofQqhluh4K5qSfIqS248Cuyawtf3w5epbBmlmUp3LZD9L9jrQ5nTFZr06UVlu7tdCJ163VW/bEeocT74S5rPesw9pKm/YiWLWCVLwJNKpfK6B9cx1f8h3TvaZDq+iyGHvwIeCPWLhsTPfQe6K8s4J6mUfyHsWNv725QH4G1/OGF9GyueKiPPYbrPUvHNE1cNEvNHWDOgmPEnbPsbTAyzNWRcYw662EMbJjW+gtkGTXQ7sW27x2bYggPOZHvva/mKKzerRxZ/TcAK3CPgrun5+6IizzH+8uCZQprVJV19aNQ0UFPXYJlSMKvJwrRZlBFBkoeGSvNhHlolz4WPa7xO1jYWecCwxd7vnsaFe4/1AQHoXzDf2+8b63g2Tp8BpLOxNREOuAeG7gd/ccw5HqPlT2+94tejv+Dhw54Katm+aeWfhs6LFgzuY5bljbYa5Z3WZux/4iBaRVBaucDbewbve6SDdF4C+0OC93HYiG+YxkyOAHZer2rNi5wo1sX7KSO54jlu0ooj8LDhS4bk2jPMcMqvZJPQY8BjwGPAY8BjwGPAaqBAaqV7ZWWgaHPbzRXlzwakEEDJm/vL4gZOggHHz0rUXuu3+fEjAXEcTawwBMGpiMpEX4jNAUAaPAq8YKTZ5ncrVM4z+8NCeIgfjCtJVJB3vK1Rr1ljmgrV4tjhDWHyx2A43A8J6nZ0SaedaQjqHAwR6y7KGbjLZuLSDLpU+RRmX5AyGmPoDhevtX//7QIQxauqHA/eK5WcFVikdA98lTe8jPIC7gHY9NDSxMf/P8R4EwMnxJrMEB7UNBJc+JWfnvKcsDIQ8Mqu//c1o4zniPQFUYZvxGSeHrf3vP/WPCYveX1+e7u5+crosv8Z5xKECbJRa9POOaj3EP43Pd9sLAhSLjCCbfhh2FYTXWijt8kcGNVaSROWxdumIl/dzk5W7Bmh2BYETjQKrT402/h9kmAmVJay3BmzVKbXmmGT+6bMqbMHe9Y41AgQJGFN9TwxfO7h8Kk7QwjzTMb/CKkOhbj0wOLTF1flGiyBUnusxs73Md8zApf/38hw6FA9baKYsSsSBpEx5sNPzsmVkOpS0EoVgx/UcxqUh303kDdPLAfeePnpwRlM9c1wKjSEL1w65z9huR1DJBWUvue3GOW7x+p/v9i3Mign4puo1y/59KSCXpSxKqy5yQdFi1sXbj0vqep2a45cbFPun0/kBoAQ1Pvbc0wCfMSTyT3PVEdN353Fl9Q+FIaQxS+17PE+q070UAp9uT7v367YXujsenukfeWhjZo+ev3h4qKVBW7/YJ1/zIB0kAAB9wSURBVJhacMO7lZt2B+vZ27PXBTjgWa7zytILu/cVKSGggMaeINCzbaJdPGN8SlgPymA9vf2Bd4Ox+4N/Tg/GveTN9bqpIGqFYwUIUj7rJOtVHOj1Ve+rpP3zq3ODvQ58vz5rTfCNdBk3npuYp7nMhVz2NVz7Zrw2GM86dnzTR6usqekvjYN07+06IHQX+5i2zoXRzPqGsgKerf786ryIxTNCEBj7Asm04MZgv4FpHUcLEptd1kJiJEMjM0bZ6wSsK3jCqlUW0Pt0nNBWtxMhLJaMeBP57mNTHfRGacAe9v1/TIukDXCp4kzrMGrJIQgSwveS6KBcxrsWeNMXytJghdNaSYF0du1ctG5nMM6wCLZhbHS5+bi3a0TcvmHHs90npR3VjLie/fPDFVsDIfJXHpwUugiX9FxFiSQX/Gez3uzZfyiyl2mlN0un2P7aMAJamZ0+8T0ZnwL6e9t9mrr43gDr0R9fnhMJs8Q+8dkz+khRkXMWDzPZD9L9jpSbzpjk3KeBMxnnXtaqO/8xVb8K7jlDidcpO0czXe8lZJZUwvosZXL96TMfBOdOaF9ox1zGl9SRyTVdWkWXGafsC85wj2/BjiPoS1GYQun/h0/OiMw39srTipXhyhsXtu32N3ySXz73YWDMoPdk9hUdKo2wEAJ6z+HZhLnrImfDx83Z8Iaz+4WeSywvRdMRNqSEpd84e2pYtHZHoFxC/elANvtfOuVmm8biQs7AF4/sFjnLs4e9azzsUacN1yLtIFSJgFaAl2dcCQ2hQdO9PM+MN2cULtSZUNeh7/mW8IZQ6oH/snBtwmMH+y60mkA2ZyLyaj4Ov/WZSco+Hq+7DuxyR44WGdjUqVHHjes8zp3Z9QzV1SLVvj4teofPJq+d7Ar2J5QOCMPw4pIXw/f1atZzTeoU0b0t67UMn8/ePCe852bWxqhRVORlKT96NEsoHNMeQlZoQMFi8fYivpNu+9pda90Hpl7aP339DDd/y3xdhL/3GPAY8BjwGPAY8BjwGKiyGIiaKVSCbljtdTnM2KZde0afiAU2hzf+YLZoxg35jrmiWNJYiqCJ/dSkpW7uqm1J6XQdMFo4PJzUs5V+nNH9oC4tIlavHEB+/PTMsAxtjcnDNsrCyDIH9MHK4mji/A2Ov7i+UwdxqgVsufrgLGmwQNPQutgKmGe59EmXmcs9rqx/riymPlqx1X3x/kSMOl321y4ZGmrb8/zdedGwBxyItRAHwcE5wzqHnjXIA2MqTjiKssztFw7W1UUYf7xA4IjAoaQYhqTB/aqGlo2ibuH0u2zHPQy9ZycvD90l6jL1PUIL3B1rhqd+n859SZ4LsNa0Y/Rf7yesFCkbnGqrAJn/FkfWkpA5rxmelGMtMizDSSxpbdm046+vz3cPvbkgdo3A6kyvC8wJLZyHIfHtRydHUGWtsoQplQtOIhXk8CPXMf/e/OicevPDNUGcUWnSBSd1di9MWxHiku/wzYffl9eRK95JLINlslF8wFvMJ8cmlI8iBRT/sOtcnFCEpD3bNYkoNk1bssnxJ4AwDOaSQGQdNgJPa7FIHgTcGpo0KFKe6dcpGisaZhXKHhooTxjCPJcxw/0p/do5lBPEmp82fvXBSTp7eE8fhXHMwyQGaXFoFslghQwi2JT3Vrii2yVp0rmiVAHTmPpYJ9+esy6w9GMua0UN8BDEsy0u1Arn8Ex0y5+K1v8h3Vq6b35imMt1XolVqfSDNn35LxODn8yXB247I1jLrjytV2S8YMV1+18mJq1zUo5e2+RZtle7zqb6DiN6tY61otTz4tOn9nSEqRFAqHXDvW/Jz8gVq34tPBLBjSTKZC6QJ9t9Lau1wVj2yR4jbee62cxtK0DUadO513uPVUS87oy+7g8vJxigWBdqC0Nd/hcvGBSMLXlmacFUdDDf5MpxRbQgyrkI8RnXD/93YUAbMM937T0UetWgDjxCVaQL4S/e/67bXyywOWLi47Dm6fH5mxtPjbRVx76mL6wvuFIuCUgvSnP3PDUzWEPq160ZeJ/Se4DgkHK04gC0jVh28s7OTz2Gshnvh44cDfdQyo+j0ew8FIUY6bNWiuEZHsP4A6CXzhveWZLm/WrbpvdSqcyO57i5SVorPGZd/cWzqYUGueKfPSGb9caGKtJnriQ6xezFSXuteW/L1t/blg19fPcT00vcm64/q2/Ec1BO+4HxfFLSd+RbpjMm+3du7pzyaEJftDcI9mRN/2uFjqR52DihTCTjLtV6/6lTe0aUxaDJ/vcvk2LxiEU+9Gs289vSHNK20q42X0m0ii5nWI9WwZqvn31ybM/Qm4Z+bulFjDpufyCexmENJMSg9vpRnrjQ7Y67f2zC4kCZiXezlk8MDA3A16rNu8O1lT5cNLLIYjnubPjgGwuCPZN8FrDc114a7RzUa97mnVFFU70+US6eUTT9T/ghgR7tmgT7k/yOu2a6/8WVkc9nSbgo9pZTt3YNBz2peQH/nLjEnTawfeQML967dJsIuyBeSnnepVVD/Tq4Z73lDKQhFz6WnQ8l0d2c6Qi/9+oHq8Jzmm6DvkfZBZ5CtmciypowZ70uMqnPkZfHyQ9CPdw34w+uVvVa7twe57gezXoEIRImrk6chUUh4OLeF7tp66cHnhYOHT3k7p74Qzem4xhXr1Y99+HGD92mwsS5/6qBnwkx1KN5Dzd/a5ECAOEXvj/hLje4zWC3audKt7JgVZgu0xvag8IBSgb8/XjST9zYTmNdozqN3JxNs8Oybx7+P25Q60GuW9OubsXOlUE1D3/0sJu+frrr0qSL231wt5uxfobbd7hIgeaWk252/Vr2y7Q5Pr3HgMeAx4DHgMeAx4DHQKXCQKXzqKAFOwFDt2Z8E7ECRihhwR4ee3do6n523SkBMwSrQCzIEGzbdLYcfsPYzAXQ9KYPccCh9GuXDou80gceexjSjB6NI12A7ROMzB9ePSrKPC2IaoNrV4RSlj1Aa2FGLn2S8nO9DunaInSTXlJZwjAZ1LVFJEmNGpqF4mI9F1x+SnfXrU3UYjlSSDGT+K7PjExyvau/oeQhtEgqSGZGRq2HdN5Mx32DerUcniN++5+PSlVSkHqmLk4c2ORZJtfte6KKLqIQAEMNJYiS4KZzB7iAIVmcgLkjTDiLI8vUsXVaQRmWNNpiUFtj2rKlfXY+8Zzx9MWPD5IkwZVvYpmtOgHhNvR40utaLjjRdeR6n8uYr25iKtuQCri5vOX8gaU2kbUFprAF7UmAd3zL0iCJKWYY/JL/mtMTFoTyTK6n9GvrPjU22h49v7WQijyihCD5rSWlHnMIBTVDU/LIlXiq2nKa53rMs77dfuGQiNBS8uor3nTuvHJEhHFs13e9t5C3NGGRfW8VGXT9qe4R/hUoTzLMT7yQaCUF5so3Lx8WWae7tW1c4r7K3k65uc4r8EtogzhAIIJnBYC+Xz0+Yakj6e3awV6M+1cb0kTSZ3O1FttWecuWqT0gyDsUGQUYX59NMR8k3c3nDXBXGEWhXOYC5Wa6r8l6m83aYNd7cREu/eNqhVtaWVOnS+feCjusIiLrzLDuybSsLhvFux9eM8oN7BIVtGdCC9599ajQrff67XsjNDBWjMw9raSEIsoXzq44huf+g0cCj2fMN/70/i24kXdctbtu3ls8HzyUmg5bYbzYoACF4FErKYwf2CFQ3qB8rCT1PNeW8ry3NInQQbzLZrxrC2DKsDQOz+zarPcr3p/Uo2TFazxHlSXYNcK2jbr1eNZ0km0Xa12/js3s4/D3+Sd1jihL8kIr3GSDf8rIar2xit+KFkmiU0yoC7tWWZxZ5Y9UShCCHD1m5Rl0l4QHlGe57AfpfkfqSmdMIvznLB8H7NV3XTUy4mVRC4QtDjNd77HSZjxZsHi84pQeIc2W7fiydaTzO11aRZelhbs8Z385tzj0mE7HvaUX5b3tP+349hUnuS6to7HdyxMX0raSrpq2JI3Qm7ov0EmihGnHjpSr08sz9uYvXRQ9G6bi49i5b8flCBVyUuqQ62sfrJHbEq+Z7n8lFpSHF6h06H3Uru2Wr0Ray39r1zwa8pVmEdZMQzppSG/r02Ww7qXizdn5oM9lUg5nv6/+bVLgiVGUyeVd3BW6SzwuZHMmwgOXDvfKfO5s5mFcvVX92esr3gi6gOLBi0tecr+bdq97ZPajQQgIXrRu0DpQRuC+Ye2G7rrB17nq1Yp4suR5d/W77rVlr0WUFMZ0HO2GtBkSomZ859McnhoECB8xYdWEUJFAnmd6bVq3qbui3xVhNtrzzqp33AuLXwjLpq21ahR5zbp28LWuUe3E2jpvyzz38tKX3cTVE0MlBdLXrlE7LNPfeAx4DHgMeAx4DHgMeAxUVQzES9ErqDe4MNQHQG0VEdckLCc//7F+sUJCDuK3fXyQ+/6VI4JD+NqteyKuizlUY5X7/c+McH+6Zbz79Q2nujs/PSJS1kblEj+u/tKeYeXx48+OTmIoIqC6++qRQXxnzdzUCgH6sEI9chjiAKdxxHOYpxroGwex333h1IiFDGlsuZqhI2Xs3Bu1ApZY0rzPpU9Sfj6u153Z1+Fi0VqVwWDAvfFvvnCqGxlz0L98TI+IkOvaM5MFlVjF/eCqkQ4hH/0VAK9o5iOkAbcdWiQfnId0b5n0PbSVk5Slr5aBW5rgL5NxT1xxbVmBgOemc/u7n1w72t1/6+nu59ef4r5ySeJQRrs2bI9aeui2lnaPRYAWKPB9tGrIJaO7O6zmNXCoxlJ0/MD2bmjXhMBGz//ScGTfW/euNk6tFs7qvDB6f3vjqUkCxSK8DXD/d/nwiJUH/WBc3HPNaId1hwaUE5jnWKVqDwyWgZQtTnRdud7nMuaxmBKAAfUpFWpFno/p2zbAhTAA5Tnjg3cI0+MEvqQjbq4W8MYxo6Q8uSatc0YAIOkol/FPuwX4nigJ3Hr+wIA5zm+BlsXlWOtWxnAiVVFqPa54Yr87+5Ndo8AHii2fP7ufw/2sXn+skIK2//YLp7oBWBsqoC8IcbBsY3/U7ScZYXI02PVpR2FU0Uj6LHkK9ibC1PDMvpd0pV3p6y8/Pzb4/raN9OH0QR2CvRnvCBrAybcuHx4RTPAewd03PjEs3MNznVdfunCws65kqfua03s77TqZvZbxa8c2bUIRADrj9zeNc51aRvuh+5TNvR5ftMvi0JYJTXTRyETYAMas9Tpz3kmdA5pJC7woh/UPuuWn141Jis+dj7lAHZnsa9K3rNaGNMav9oBAXUJ/Sb2ZXK2wQ4fSknK+ftmwgJ4RBQx5zphGgAg9090oT2p6mflyzzWjAtpDjwPuYebfe+M417RBgoGJUIW9Sa+rUidtYIz/4nOnhO7T5V15Xu06k6puxrLuN2lvuWBghPaOo9d0mZ88tWew9sYpADAfvnn58IB2kjyp1tHS6CDKyHS82z0tbkza0A82DfQr7v0trtgvWFPLCiQ0nS5f02A81+OZ35r+0/nknjmjlcnoE+P6q5cMdSggjujVJuynPmdJ/kzxT75s1hu7luh93H5T/Y76dpq1yr7XewDp9XurbAVNY/EAzcoZ2NLkgqNs9oNMv2O6Y/JbnxgeKApL27hCG9x91chgbx2szg5aocSuI3H0iv1Gdt4wnr504aCk8yZtIGQSSuuMDQ3ZjC+dP5P7dGkVKXOi8SyIokrNGgkaWNJxtcowV5/eO0IvkwZFO2jRfp3ilYfKExe67faesX7p6O4Rupo0rB2sgdCj4/q3C7PZvRvPXnbPlLMhShqWnrLzW4+rwv0JT23Uj0K3hotHdnUoMVqAHvj0uKgCtU3D70z3v7gy8vVM95Uy7dqOYjGepTQ8+/5y/TP4RlqxFnp6rPpWJCZkpv4+4FV/TykQejlb3lyqfV/Kx9uLVlBgjWBf+vUNY90fbxkf1K1pcfLBb8z2TPTRym0RjzLwBO15VNp2PF1vHPYF97FuZzlCNWhAYH9a53Hua6O/Giom8H5Y26HuznF3uL4t+wZeGHQelBpuPulm95kBCW8KvEfw/+2x/+c6Nu6ok7t2Ddu6r476iruw18cjzzP5cWqnsUEbKUsD7R/YaoD7zthvu17Ni7ygtajXwt01/vvutM6nJfUXjxIntzs56BteJTx4DHgMeAx4DHgMeAx4DFR1DFQ7fPhwsv+6PPZq297SrV/zUR3WV+t3FLp6tWq4Zo3qJh1EX5y+MoiHLnVhFYimvwYY7riSFUUADqVfuTgqxNXpM7mHEbJzzwHXtnmDpLZlUg4xIe94LBGTc1j3Vu7rlw0NXMat31YYWJLqw3AmZWeaNl99yrRem55DMNalMK3EAt+m0b/5zhu2FwZMbMsc0OnkHveLCLpxPWgZEZLGXvHcQZiRIV1bBhbB9n2+fpc27gk1omOq/+Hm8RGBBe3AxTcuYQVQALHWVfIuX1fmGMpDuFZGqaAyHqoPHznq1m4rDISN2hovFQ5QJMKNLIxShCeZQGXCSaZjnjlIHpQIYBalAuYf7mMR3MOYSQdw7XzzH98J1masvmGg5xPYBImhffToMde2Wf1QwJHPOkoqC8Weddv2BB4ZUoWIKSk/z2k/lj6sT+W1/qdqT6bvmGtYn/GdwT9ub0sDhIEwkrFe6tC8YWgtbvPlOq8I3YM1M3jVwl5bD7+pa922QletmnPNGtQJlSbi0lb2Z3wTrP5QYsp2XGbbx9L2NV1uWa8Nuq5s7ifMXe8eeG1emPX8k7oEigDhA3ODpf62XfuDfRG3yJkCawG0YO2a1dNaC8A18aMPHz3mOjRvkBYNlWmbKir9gjU73I+emhFU/7Prx5TqLlvaWbD3oNu6a1+Ai3bNGpT5fpDJeJc25nJlz8GCE2jfvH6JQspc6iivvMwX9g4EVwimsoFM8F/Z1xvp/4+enOEWqFjoCGFRpuMsg/A507le1vtBumNSvlUm9KPgJB9XvLcQxrFOzRquReNkXkNcHdLmkvgTcXmyeZYOrQKeb71/QhhiD0H7H28eX+LcufY3b4Y8EQS8D95+ZtA0xhD9QgEs3XMxGcsLF6XhD9pxR+GBQGhulXUlL6GAnpy0VH46wqNgCIHiFWOgeeO6EU8tYcI83gh/o2Hd2g7DkkxWuGz3vzw2v9IXlW8+FvTXdWrOcMbFGMrCv95b5p6bklDGQNFHn90yORP9/NlZgadYqQMDlNIUMyVtVbhu3LPR/fi9nwRNRSB/7eDPJjW74ECBO3D4gKtXq75rVDs9pXDCJpAHJYBqHNpKgYNHDrpt+7a5VvVbuZrVM+PvlFK0O3LsiNtSuCVQjMDbAsoKqWD/4f0O7w71a9Z3TepGQ5tIvlkbZ7mHPno4+EmoCZQ6PHgMeAx4DHgMeAx4DHgMlAcGWtTPnI+p25VfSkuXXM73MHStxZluwvY9USvQ2au2RRQVEHZIzF7JR4gBAOUAhA/pwMk9W0VCLUgeLFmsNYu8y+RqrWQQ6gAwCjrm2WKztHblq0+l1VPae5QNerSNJ9Tj8iJItZaycenkGRZ2cVZ28t5eCTGCkgJw+diolY1Nm+vv0sY9jCsNc1ZujYx7FDbuVbEvSTugc/7Gva5b38NQti5C9fvKcI+FkXWRWlq7YPrxlw1UJpxkOuaZg+ko/YAX5l+qtToOd1ioIASGUXr64KgHmbj0mT6DRRFnEZ9pOdmkxxq6q7GWzrQc2m+t4DMtI9f0s5ZvcXv2Hy61GL7/6D5tIumYa5ky1tjz6HO0pEixwY9c5xVC+nQF9dQVF0s3uVWV/wnfxHqJKa9Wl7av6XaU9dqg68p0jLNmaZe8lDXIhG/Q5XOPYkgutBxrQSZzCVxnQg/Z9lbW3wiw732xKK431rLWM0uqdjepX9vxV16QyXjPR5vYc46XdYr5kimdZnGYCf7Lc72x7czk96aCqGc0cS2PEmA6ioC2rrLeD9Idk5l8K9uHfPyGBs2Ufi2tzQglJy9KL+Re68b1XJ+O8WEw0qFVXpyxMlRSAB9Xnda7RCUFG75Me6qzHlHSxW1puEi3nFzTIRTWguG48jbujIbKFG9ItWvVyJlmj6sv7lmm/A0pI5f9T8o4Ea755mNZ70F4OUIpRo+1D5dvjSgpYNSg34P3dM9EzFFC3gngyTET+k/yVZXrqoJV7vnF/3Gt67cKwzrQ9iZ1mjiXiNCQVncIpaDDKZSWCe8K7RomPK6Ulj6T9zWq1XBtjWeFVPnr1qxbYluW7Vjm5m6Z59bvXp+qCP/OY8BjwGPAY8BjwGPAY6DSYuC4UVQoDcMoHbz2weow2fsLNrrpSzY7sZZavWV3aDVAIhhfElLh2feXuVnLEweBsJCYm59cO6ZMGYA2rqF29RnTHP+onDGAldojby0Mar3gpC4ZKVCURVOHdGsRWH5I2fe/Os89NmFxYPGPZRhWIRpos4SeqEzjXrfR359YGHh79jqHgBD40kWDc/JIc2Jhrnx7+7sXZkfCvpRUO8J8q6hQUlr/3GMgFQbKe23IZIz/e8rywNMTFqwCMKT7d4qGapF3/ppfDDzw6nyHkAAB6G0XRmOH57cmX9qJgoHyXm9ywasOC4FwHcGXh8qJAc71978yN63GEd6EMAPZAN40npucsOJGSHvagJIFb1sLooJ6K0zNpg1VKQ9eyjS0blxX/6zU937/q5jPg1dPFHw1b+V///r/7d3Lax1VGADwU6E1hLQ1zUONIKR5qMVXiQG1CBXRhcWFEERExYVuVHDbRXHhxv9CcFFQ0I2gqxYsBKQ+kPrqwmIs2KCGQGwxbc1NI9+NSSa5MZkkc3Mf+R0onc49OXPO705v7sx85zuj5ckuEUgU2dlWLjXzxrHNfz/57tfJZQONZQObuUxMT6TTY6fLQxzuGS48s0Ez2H10/uN06cqlZhiKMRAgQIAAAQI7VGDnBCr0dpYDD878sPTlLW4gR4DCyhIzr46PDC3OMoi0onlLpOarZokUvdmy8FA5u8927QQW0n0f7u1MLxwdrF1H/jvyyKP96dzY5LKL5lie4MLVvyr6FuthZvtcT+d9RWft2DECd3bPp3R+7alD6cHezh0z7kYaaCznkX0gu1bfs7Py1qrnNQLrCWznZ8NGzvG2lt3l5W1W9v/NY/dVrO+9so5/FyMweMf+9O3YRHkN+yKymRXTK600ssB2ft5sxSmCkCOby0I5sLdxHrAu9Hkn/R0zrvOWmFyx2fLh6M/LzouXHh9cM+X5yokRt7VX9/7GZsdVrZ9bOf7O/Y0zfr//qnVWrN/uW8/cn06cPLvsmiiWRow/2RJB2y8evWtL17WRLSoyy/0xNZ2G+ro2nO0l25963W7b05b6D/Snubml32n12td66Fdfe1+KjAvZ0tXq3knWwzYBAgQIECBQ3wK7SqVSVb/5TU7P1pVAZFH45Mux9Mvvl5f1K2ZdxZqdzz5yMD3U373stQhmiHUV1yuxxtlAT/4lCNZrb7XXY73E0Z+W0nmdeG54cQb8avXt236BSP0XqSHrpVyfmU0xE+yzby5WXCjHDM+BnlvS848NVGQCqafzvl4s9aM2AvX2f6o2CvV71Btzc+nCeGXw02o9jlS2zZyadLUx21c9ge36bNjIOX7mx/H0+fdLQbFxI/n1p+9N/bdX9/th9ZQbs+XtOjcaU0evNyPQCOfU1N//pLdPnk1zaf7yfqivO73yxN2bGa6f2QaBSN8+nnN5ychqkHcpqmzXI3Dl+PtfpGsz88tzPdDbmV598lC2SsV2ZDJ779T5xf1xnXjknv/PwLBYsUk23vngqzRxeT6IpK1lT3r35YcbamSN8FnVUKAb6Gwsu/np1xdTTI6KwLFsicDJCCoYOdKX9hWwxFQ8wD917rd0+GBX6mygrB9ZE9sECBAgQIAAAQLNI9DRurXnoTsuUCH71kcaxEgN27GvRTrxLIztphWIC9q4iXltZjbFmrXSwTbtW21gBAgQIFADgXg8+OfU1TRTmk23trem3dKu1+BdcEgCBAgQIECAQO0ESrM30uSV6+UsrR17b14zi0nteunIBAgQIECAAAECBIoREKhQjKNWCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgRwCWw1UuCnHMVQhQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBQiIFChEEaNECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAnkEBCrkUVKHAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKERAoEIhjBohQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE8ggIVMijpA4BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQiIBAhUIYNUKAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjkERCokEdJHQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKAQAYEKhTBqhAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEMgjIFAhj5I6BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQCECAhUKYdQIAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkEdAoEIeJXUIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBQgR2lUqluUJa0ggBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYB2BfwFcqj42ggZTuQAAAABJRU5ErkJggg=="
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 调整lgbm超参数\n",
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "from lightgbm.sklearn import LGBMClassifier\n",
    "import lightgbm as lgbm\n",
    "from sklearn.model_selection import GridSearchCV"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 需要调整的参数如下\n",
    "params = {'boosting_type': 'gbdt',\n",
    "          'objective': 'multiclass',\n",
    "          'n_jobs': 4,\n",
    "          'learning_rate': 0.1,\n",
    "          'num_leaves': 80,\n",
    "          'max_depth': 7,\n",
    "          'max_bin': 127, #2^6,原始特征为整数，很少超过100\n",
    "          'subsample': 0.7,\n",
    "          'bagging_freq': 1,\n",
    "          'colsample_bytree': 0.7,\n",
    "         }"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "首先，使用lgbm自带的cv方法搜寻最佳的模型数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "lgbm_params = params.copy()\n",
    "lgbm_params[\"num_class\"] = 9\n",
    "lgbm_data = lgbm.Dataset(X,y)\n",
    "cv_result = lgbm.cv(lgbm_params,lgbm_data,nfold=3,num_boost_round=200000,metrics=\"multi_logloss\",early_stopping_rounds=20,seed=5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.4911822953580231"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "min(cv_result['multi_logloss-mean'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "171"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(cv_result['multi_logloss-mean'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "固定分层，每次调参使用相同的分层进行训练"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import StratifiedKFold\n",
    "kfold = StratifiedKFold(n_splits=3,shuffle=True,random_state=5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "固定树数目，调整最大叶子树，"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 3 folds for each of 6 candidates, totalling 18 fits\n",
      "[CV] num_leaves=60 ...................................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] ......... num_leaves=60, score=-0.4886692087286154, total=  13.4s\n",
      "[CV] num_leaves=60 ...................................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   1 out of   1 | elapsed:   14.7s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] ......... num_leaves=60, score=-0.6154208655962408, total=  14.5s\n",
      "[CV] num_leaves=60 ...................................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   2 out of   2 | elapsed:   30.6s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] ......... num_leaves=60, score=-0.4861920563934444, total=  13.5s\n",
      "[CV] num_leaves=65 ...................................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   3 out of   3 | elapsed:   45.4s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] ........ num_leaves=65, score=-0.48748715664552517, total=  14.4s\n",
      "[CV] num_leaves=65 ...................................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   4 out of   4 | elapsed:  1.0min remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] ......... num_leaves=65, score=-0.5627611136156028, total=  13.9s\n",
      "[CV] num_leaves=65 ...................................................\n",
      "[CV] ......... num_leaves=65, score=-0.4848622566169862, total=  13.6s\n",
      "[CV] num_leaves=70 ...................................................\n",
      "[CV] ........ num_leaves=70, score=-0.48846643227834335, total=  14.2s\n",
      "[CV] num_leaves=70 ...................................................\n",
      "[CV] ......... num_leaves=70, score=-0.5295890409193421, total=  14.4s\n",
      "[CV] num_leaves=70 ...................................................\n",
      "[CV] ........ num_leaves=70, score=-0.48508216485468175, total=  14.2s\n",
      "[CV] num_leaves=75 ...................................................\n",
      "[CV] .......... num_leaves=75, score=-0.488348574315921, total=  13.9s\n",
      "[CV] num_leaves=75 ...................................................\n",
      "[CV] .......... num_leaves=75, score=-0.511505909732045, total=  14.1s\n",
      "[CV] num_leaves=75 ...................................................\n",
      "[CV] ......... num_leaves=75, score=-0.4846725510447397, total=  14.6s\n",
      "[CV] num_leaves=80 ...................................................\n",
      "[CV] ........ num_leaves=80, score=-0.48943705349184974, total=  14.7s\n",
      "[CV] num_leaves=80 ...................................................\n",
      "[CV] ......... num_leaves=80, score=-0.5318761411650514, total=  13.8s\n",
      "[CV] num_leaves=80 ...................................................\n",
      "[CV] ........ num_leaves=80, score=-0.48556185810053865, total=  14.0s\n",
      "[CV] num_leaves=85 ...................................................\n",
      "[CV] ......... num_leaves=85, score=-0.4891669895388973, total=  14.1s\n",
      "[CV] num_leaves=85 ...................................................\n",
      "[CV] ......... num_leaves=85, score=-0.5470078925395724, total=  13.9s\n",
      "[CV] num_leaves=85 ...................................................\n",
      "[CV] ......... num_leaves=85, score=-0.4853800006300984, total=  14.1s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done  18 out of  18 | elapsed:  4.6min finished\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=StratifiedKFold(n_splits=3, random_state=5, shuffle=True),\n",
       "       error_score='raise-deprecating',\n",
       "       estimator=LGBMClassifier(bagging_freq=1, boosting_type='gbdt', class_weight=None,\n",
       "        colsample_bytree=0.7, importance_type='split', learning_rate=0.1,\n",
       "        max_bin=127, max_depth=7, min_child_samples=20,\n",
       "        min_child_weight=0.001, min_split_gain=0.0, n_estimators=171,\n",
       "        n_jobs=4, num_leaves=31, objective='multiclass', random_state=None,\n",
       "        reg_alpha=0.0, reg_lambda=0.0, silent=False, subsample=0.7,\n",
       "        subsample_for_bin=200000, subsample_freq=0),\n",
       "       fit_params=None, iid='warn', n_jobs=None,\n",
       "       param_grid={'num_leaves': [60, 65, 70, 75, 80, 85]},\n",
       "       pre_dispatch='2*n_jobs', refit=False, return_train_score='warn',\n",
       "       scoring='neg_log_loss', verbose=5)"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "params = {'boosting_type': 'gbdt',\n",
    "          'objective': 'multiclass',\n",
    "          'n_jobs': 4,\n",
    "          'learning_rate': 0.1,\n",
    "#           'num_leaves': 80,\n",
    "          'max_depth': 7,\n",
    "          'n_estimators':171,\n",
    "          'max_bin': 127, #2^6,原始特征为整数，很少超过100\n",
    "          'subsample': 0.7,\n",
    "          'bagging_freq': 1,\n",
    "          'colsample_bytree': 0.7,\n",
    "         }\n",
    "lgc = LGBMClassifier(silent=False,**params)\n",
    "tuned_params = dict(num_leaves=[60,65,70,75,80,85])\n",
    "gc = GridSearchCV(lgc,tuned_params,cv=kfold,verbose=5,refit=False,scoring=\"neg_log_loss\")\n",
    "gc.fit(X,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'num_leaves': 75} -0.4948424638460954\n",
      "[-0.53009412 -0.51170359 -0.50104599 -0.49484246 -0.50229181 -0.50718508]\n"
     ]
    }
   ],
   "source": [
    "print(gc.best_params_,gc.best_score_)\n",
    "print(gc.cv_results_['mean_test_score'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可见最佳参数为75"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "下面调整每个叶子节点最大样本数，范围从100到150"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 3 folds for each of 4 candidates, totalling 12 fits\n",
      "[CV] min_child_samples=10 ............................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] . min_child_samples=10, score=-0.48930892439166246, total=  15.3s\n",
      "[CV] min_child_samples=10 ............................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   1 out of   1 | elapsed:   16.8s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] .. min_child_samples=10, score=-0.5218067986146789, total=  15.5s\n",
      "[CV] min_child_samples=10 ............................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   2 out of   2 | elapsed:   33.7s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] .. min_child_samples=10, score=-0.4860964981838669, total=  15.3s\n",
      "[CV] min_child_samples=20 ............................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   3 out of   3 | elapsed:   50.4s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] ... min_child_samples=20, score=-0.488348574315921, total=  14.0s\n",
      "[CV] min_child_samples=20 ............................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   4 out of   4 | elapsed:  1.1min remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] ... min_child_samples=20, score=-0.511505909732045, total=  14.7s\n",
      "[CV] min_child_samples=20 ............................................\n",
      "[CV] .. min_child_samples=20, score=-0.4846725510447397, total=  14.0s\n",
      "[CV] min_child_samples=30 ............................................\n",
      "[CV] . min_child_samples=30, score=-0.48756035653748697, total=  13.6s\n",
      "[CV] min_child_samples=30 ............................................\n",
      "[CV] .. min_child_samples=30, score=-0.5077923102918541, total=  13.3s\n",
      "[CV] min_child_samples=30 ............................................\n",
      "[CV] .. min_child_samples=30, score=-0.4848324630939813, total=  15.3s\n",
      "[CV] min_child_samples=40 ............................................\n",
      "[CV] .. min_child_samples=40, score=-0.4896756846505691, total=  13.7s\n",
      "[CV] min_child_samples=40 ............................................\n",
      "[CV] . min_child_samples=40, score=-0.49461655623399553, total=  13.4s\n",
      "[CV] min_child_samples=40 ............................................\n",
      "[CV] .. min_child_samples=40, score=-0.4874376655128017, total=  13.2s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done  12 out of  12 | elapsed:  3.1min finished\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=StratifiedKFold(n_splits=3, random_state=5, shuffle=True),\n",
       "       error_score='raise-deprecating',\n",
       "       estimator=LGBMClassifier(bagging_freq=1, boosting_type='gbdt', class_weight=None,\n",
       "        colsample_bytree=0.7, importance_type='split', learning_rate=0.1,\n",
       "        max_bin=127, max_depth=7, min_child_samples=20,\n",
       "        min_child_weight=0.001, min_split_gain=0.0, n_estimators=171,\n",
       "        n_jobs=4, num_leaves=75, objective='multiclass', random_state=None,\n",
       "        reg_alpha=0.0, reg_lambda=0.0, silent=False, subsample=0.7,\n",
       "        subsample_for_bin=200000, subsample_freq=0),\n",
       "       fit_params=None, iid='warn', n_jobs=None,\n",
       "       param_grid={'min_child_samples': range(10, 50, 10)},\n",
       "       pre_dispatch='2*n_jobs', refit=False, return_train_score='warn',\n",
       "       scoring='neg_log_loss', verbose=5)"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "params = {'boosting_type': 'gbdt',\n",
    "          'objective': 'multiclass',\n",
    "          'n_jobs': 4,\n",
    "          'learning_rate': 0.1,\n",
    "          'num_leaves': 75,\n",
    "          'max_depth': 7,\n",
    "          'n_estimators':171,\n",
    "          'max_bin': 127, #2^6,原始特征为整数，很少超过100\n",
    "          'subsample': 0.7,\n",
    "          'bagging_freq': 1,\n",
    "          'colsample_bytree': 0.7,\n",
    "         }\n",
    "lgc = LGBMClassifier(silent=False,**params)\n",
    "tuned_params = dict(min_child_samples=range(10,50,10))\n",
    "gc = GridSearchCV(lgc,tuned_params,cv=kfold,verbose=5,refit=False,scoring=\"neg_log_loss\")\n",
    "gc.fit(X,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "-0.49057670780229407 {'min_child_samples': 40}\n"
     ]
    }
   ],
   "source": [
    "print(gc.best_score_,gc.best_params_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[-0.49907084 -0.49484246 -0.49339513 -0.49057671]\n"
     ]
    }
   ],
   "source": [
    "print(gc.cv_results_['mean_test_score'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "继续扩大搜索范围"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 3 folds for each of 5 candidates, totalling 15 fits\n",
      "[CV] min_child_shamps=50 .............................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] .... min_child_shamps=50, score=-0.488348574315921, total=  13.7s\n",
      "[CV] min_child_shamps=50 .............................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   1 out of   1 | elapsed:   15.1s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] .... min_child_shamps=50, score=-0.511505909732045, total=  14.0s\n",
      "[CV] min_child_shamps=50 .............................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   2 out of   2 | elapsed:   30.5s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] ... min_child_shamps=50, score=-0.4846725510447397, total=  14.2s\n",
      "[CV] min_child_shamps=60 .............................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   3 out of   3 | elapsed:   46.1s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] .... min_child_shamps=60, score=-0.488348574315921, total=  14.3s\n",
      "[CV] min_child_shamps=60 .............................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   4 out of   4 | elapsed:  1.0min remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] .... min_child_shamps=60, score=-0.511505909732045, total=  14.0s\n",
      "[CV] min_child_shamps=60 .............................................\n",
      "[CV] ... min_child_shamps=60, score=-0.4846725510447397, total=  13.9s\n",
      "[CV] min_child_shamps=70 .............................................\n",
      "[CV] .... min_child_shamps=70, score=-0.488348574315921, total=  14.0s\n",
      "[CV] min_child_shamps=70 .............................................\n",
      "[CV] .... min_child_shamps=70, score=-0.511505909732045, total=  14.1s\n",
      "[CV] min_child_shamps=70 .............................................\n",
      "[CV] ... min_child_shamps=70, score=-0.4846725510447397, total=  13.9s\n",
      "[CV] min_child_shamps=80 .............................................\n",
      "[CV] .... min_child_shamps=80, score=-0.488348574315921, total=  17.5s\n",
      "[CV] min_child_shamps=80 .............................................\n",
      "[CV] .... min_child_shamps=80, score=-0.511505909732045, total=  13.8s\n",
      "[CV] min_child_shamps=80 .............................................\n",
      "[CV] ... min_child_shamps=80, score=-0.4846725510447397, total=  14.2s\n",
      "[CV] min_child_shamps=90 .............................................\n",
      "[CV] .... min_child_shamps=90, score=-0.488348574315921, total=  14.4s\n",
      "[CV] min_child_shamps=90 .............................................\n",
      "[CV] .... min_child_shamps=90, score=-0.511505909732045, total=  15.8s\n",
      "[CV] min_child_shamps=90 .............................................\n",
      "[CV] ... min_child_shamps=90, score=-0.4846725510447397, total=  15.6s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done  15 out of  15 | elapsed:  4.0min finished\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=StratifiedKFold(n_splits=3, random_state=5, shuffle=True),\n",
       "       error_score='raise-deprecating',\n",
       "       estimator=LGBMClassifier(bagging_freq=1, boosting_type='gbdt', class_weight=None,\n",
       "        colsample_bytree=0.7, importance_type='split', learning_rate=0.1,\n",
       "        max_bin=127, max_depth=7, min_child_samples=20,\n",
       "        min_child_weight=0.001, min_split_gain=0.0, n_estimators=171,\n",
       "        n_jobs=4, num_leaves=75, objective='multiclass', random_state=None,\n",
       "        reg_alpha=0.0, reg_lambda=0.0, silent=False, subsample=0.7,\n",
       "        subsample_for_bin=200000, subsample_freq=0),\n",
       "       fit_params=None, iid='warn', n_jobs=None,\n",
       "       param_grid={'min_child_shamps': range(50, 100, 10)},\n",
       "       pre_dispatch='2*n_jobs', refit=False, return_train_score='warn',\n",
       "       scoring='neg_log_loss', verbose=5)"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tuned_params = dict(min_child_samples=range(50,100,10))\n",
    "gc = GridSearchCV(lgc,tuned_params,cv=kfold,scoring='neg_log_loss',verbose=5,refit=False)\n",
    "gc.fit(X,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[-0.49484246 -0.49484246 -0.49484246 -0.49484246 -0.49484246]\n"
     ]
    }
   ],
   "source": [
    "print(gc.cv_results_['mean_test_score'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "综上，40是比较好的值"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "下面调整行采样和列采样参数，sub_shamps,sub_feature"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 3 folds for each of 25 candidates, totalling 75 fits\n",
      "[CV] colsample_bytree=0.5, subsample=0.5 .............................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  colsample_bytree=0.5, subsample=0.5, score=-0.4892670549802185, total=  11.7s\n",
      "[CV] colsample_bytree=0.5, subsample=0.5 .............................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   1 out of   1 | elapsed:   13.1s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  colsample_bytree=0.5, subsample=0.5, score=-0.49687723324717337, total=  11.4s\n",
      "[CV] colsample_bytree=0.5, subsample=0.5 .............................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   2 out of   2 | elapsed:   25.9s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  colsample_bytree=0.5, subsample=0.5, score=-0.48504999293128437, total=  11.4s\n",
      "[CV] colsample_bytree=0.5, subsample=0.6 .............................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   3 out of   3 | elapsed:   38.7s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  colsample_bytree=0.5, subsample=0.6, score=-0.4872435280179682, total=  12.2s\n",
      "[CV] colsample_bytree=0.5, subsample=0.6 .............................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   4 out of   4 | elapsed:   52.3s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  colsample_bytree=0.5, subsample=0.6, score=-0.4929832511044227, total=  12.2s\n",
      "[CV] colsample_bytree=0.5, subsample=0.6 .............................\n",
      "[CV]  colsample_bytree=0.5, subsample=0.6, score=-0.485310588997511, total=  12.1s\n",
      "[CV] colsample_bytree=0.5, subsample=0.7 .............................\n",
      "[CV]  colsample_bytree=0.5, subsample=0.7, score=-0.4866996889160455, total=  12.7s\n",
      "[CV] colsample_bytree=0.5, subsample=0.7 .............................\n",
      "[CV]  colsample_bytree=0.5, subsample=0.7, score=-0.5176851110206205, total=  12.7s\n",
      "[CV] colsample_bytree=0.5, subsample=0.7 .............................\n",
      "[CV]  colsample_bytree=0.5, subsample=0.7, score=-0.48480054463956435, total=  12.8s\n",
      "[CV] colsample_bytree=0.5, subsample=0.7999999999999999 ..............\n",
      "[CV]  colsample_bytree=0.5, subsample=0.7999999999999999, score=-0.4876728212620659, total=  13.7s\n",
      "[CV] colsample_bytree=0.5, subsample=0.7999999999999999 ..............\n",
      "[CV]  colsample_bytree=0.5, subsample=0.7999999999999999, score=-0.49286841464592307, total=  13.3s\n",
      "[CV] colsample_bytree=0.5, subsample=0.7999999999999999 ..............\n",
      "[CV]  colsample_bytree=0.5, subsample=0.7999999999999999, score=-0.48485059316348095, total=  13.2s\n",
      "[CV] colsample_bytree=0.5, subsample=0.8999999999999999 ..............\n",
      "[CV]  colsample_bytree=0.5, subsample=0.8999999999999999, score=-0.4904540986122239, total=  14.2s\n",
      "[CV] colsample_bytree=0.5, subsample=0.8999999999999999 ..............\n",
      "[CV]  colsample_bytree=0.5, subsample=0.8999999999999999, score=-0.49423149474938416, total=  13.7s\n",
      "[CV] colsample_bytree=0.5, subsample=0.8999999999999999 ..............\n",
      "[CV]  colsample_bytree=0.5, subsample=0.8999999999999999, score=-0.48694735228888125, total=  13.6s\n",
      "[CV] colsample_bytree=0.6, subsample=0.5 .............................\n",
      "[CV]  colsample_bytree=0.6, subsample=0.5, score=-0.49042721805780026, total=  12.2s\n",
      "[CV] colsample_bytree=0.6, subsample=0.5 .............................\n",
      "[CV]  colsample_bytree=0.6, subsample=0.5, score=-0.5588705535509757, total=  11.9s\n",
      "[CV] colsample_bytree=0.6, subsample=0.5 .............................\n",
      "[CV]  colsample_bytree=0.6, subsample=0.5, score=-0.4844642068319484, total=  11.9s\n",
      "[CV] colsample_bytree=0.6, subsample=0.6 .............................\n",
      "[CV]  colsample_bytree=0.6, subsample=0.6, score=-0.48947644367151494, total=  12.7s\n",
      "[CV] colsample_bytree=0.6, subsample=0.6 .............................\n",
      "[CV]  colsample_bytree=0.6, subsample=0.6, score=-0.5090477374828836, total=  12.5s\n",
      "[CV] colsample_bytree=0.6, subsample=0.6 .............................\n",
      "[CV]  colsample_bytree=0.6, subsample=0.6, score=-0.4863350435310739, total=  12.6s\n",
      "[CV] colsample_bytree=0.6, subsample=0.7 .............................\n",
      "[CV]  colsample_bytree=0.6, subsample=0.7, score=-0.4876927804958805, total=  13.5s\n",
      "[CV] colsample_bytree=0.6, subsample=0.7 .............................\n",
      "[CV]  colsample_bytree=0.6, subsample=0.7, score=-0.4954910930772589, total=  13.0s\n",
      "[CV] colsample_bytree=0.6, subsample=0.7 .............................\n",
      "[CV]  colsample_bytree=0.6, subsample=0.7, score=-0.4846580989743878, total=  13.0s\n",
      "[CV] colsample_bytree=0.6, subsample=0.7999999999999999 ..............\n",
      "[CV]  colsample_bytree=0.6, subsample=0.7999999999999999, score=-0.4891987476213026, total=  13.9s\n",
      "[CV] colsample_bytree=0.6, subsample=0.7999999999999999 ..............\n",
      "[CV]  colsample_bytree=0.6, subsample=0.7999999999999999, score=-0.49211269004926067, total=  13.8s\n",
      "[CV] colsample_bytree=0.6, subsample=0.7999999999999999 ..............\n",
      "[CV]  colsample_bytree=0.6, subsample=0.7999999999999999, score=-0.4838422053831264, total=  13.8s\n",
      "[CV] colsample_bytree=0.6, subsample=0.8999999999999999 ..............\n",
      "[CV]  colsample_bytree=0.6, subsample=0.8999999999999999, score=-0.49122822573122105, total=  14.1s\n",
      "[CV] colsample_bytree=0.6, subsample=0.8999999999999999 ..............\n",
      "[CV]  colsample_bytree=0.6, subsample=0.8999999999999999, score=-0.4950980596318788, total=  14.1s\n",
      "[CV] colsample_bytree=0.6, subsample=0.8999999999999999 ..............\n",
      "[CV]  colsample_bytree=0.6, subsample=0.8999999999999999, score=-0.4879975211827327, total=  14.0s\n",
      "[CV] colsample_bytree=0.7, subsample=0.5 .............................\n",
      "[CV]  colsample_bytree=0.7, subsample=0.5, score=-0.48954176471863453, total=  12.7s\n",
      "[CV] colsample_bytree=0.7, subsample=0.5 .............................\n",
      "[CV]  colsample_bytree=0.7, subsample=0.5, score=-0.5029928408688527, total=  12.3s\n",
      "[CV] colsample_bytree=0.7, subsample=0.5 .............................\n",
      "[CV]  colsample_bytree=0.7, subsample=0.5, score=-0.4865831273878543, total=  12.4s\n",
      "[CV] colsample_bytree=0.7, subsample=0.6 .............................\n",
      "[CV]  colsample_bytree=0.7, subsample=0.6, score=-0.48701343292308563, total=  13.3s\n",
      "[CV] colsample_bytree=0.7, subsample=0.6 .............................\n",
      "[CV]  colsample_bytree=0.7, subsample=0.6, score=-0.4986419972398951, total=  13.1s\n",
      "[CV] colsample_bytree=0.7, subsample=0.6 .............................\n",
      "[CV]  colsample_bytree=0.7, subsample=0.6, score=-0.4859576987218074, total=  13.1s\n",
      "[CV] colsample_bytree=0.7, subsample=0.7 .............................\n",
      "[CV]  colsample_bytree=0.7, subsample=0.7, score=-0.488348574315921, total=  14.4s\n",
      "[CV] colsample_bytree=0.7, subsample=0.7 .............................\n",
      "[CV]  colsample_bytree=0.7, subsample=0.7, score=-0.511505909732045, total=  14.2s\n",
      "[CV] colsample_bytree=0.7, subsample=0.7 .............................\n",
      "[CV]  colsample_bytree=0.7, subsample=0.7, score=-0.4846725510447397, total=  14.1s\n",
      "[CV] colsample_bytree=0.7, subsample=0.7999999999999999 ..............\n",
      "[CV]  colsample_bytree=0.7, subsample=0.7999999999999999, score=-0.4869906962269775, total=  14.9s\n",
      "[CV] colsample_bytree=0.7, subsample=0.7999999999999999 ..............\n",
      "[CV]  colsample_bytree=0.7, subsample=0.7999999999999999, score=-0.49285783752476875, total=  14.8s\n",
      "[CV] colsample_bytree=0.7, subsample=0.7999999999999999 ..............\n",
      "[CV]  colsample_bytree=0.7, subsample=0.7999999999999999, score=-0.48739049024605824, total=  14.5s\n",
      "[CV] colsample_bytree=0.7, subsample=0.8999999999999999 ..............\n",
      "[CV]  colsample_bytree=0.7, subsample=0.8999999999999999, score=-0.4912985730885534, total=  15.7s\n",
      "[CV] colsample_bytree=0.7, subsample=0.8999999999999999 ..............\n",
      "[CV]  colsample_bytree=0.7, subsample=0.8999999999999999, score=-0.4962319012328343, total=  15.0s\n",
      "[CV] colsample_bytree=0.7, subsample=0.8999999999999999 ..............\n",
      "[CV]  colsample_bytree=0.7, subsample=0.8999999999999999, score=-0.48837337490766214, total=  15.6s\n",
      "[CV] colsample_bytree=0.7999999999999999, subsample=0.5 ..............\n",
      "[CV]  colsample_bytree=0.7999999999999999, subsample=0.5, score=-0.4888530038291979, total=  13.5s\n",
      "[CV] colsample_bytree=0.7999999999999999, subsample=0.5 ..............\n",
      "[CV]  colsample_bytree=0.7999999999999999, subsample=0.5, score=-0.5024451050027243, total=  13.5s\n",
      "[CV] colsample_bytree=0.7999999999999999, subsample=0.5 ..............\n",
      "[CV]  colsample_bytree=0.7999999999999999, subsample=0.5, score=-0.4861837171017275, total=  14.7s\n",
      "[CV] colsample_bytree=0.7999999999999999, subsample=0.6 ..............\n",
      "[CV]  colsample_bytree=0.7999999999999999, subsample=0.6, score=-0.487872547308542, total=  14.2s\n",
      "[CV] colsample_bytree=0.7999999999999999, subsample=0.6 ..............\n",
      "[CV]  colsample_bytree=0.7999999999999999, subsample=0.6, score=-0.5046412184123578, total=  13.8s\n",
      "[CV] colsample_bytree=0.7999999999999999, subsample=0.6 ..............\n",
      "[CV]  colsample_bytree=0.7999999999999999, subsample=0.6, score=-0.4843829493378944, total=  13.8s\n",
      "[CV] colsample_bytree=0.7999999999999999, subsample=0.7 ..............\n",
      "[CV]  colsample_bytree=0.7999999999999999, subsample=0.7, score=-0.4873572919243779, total=  14.6s\n",
      "[CV] colsample_bytree=0.7999999999999999, subsample=0.7 ..............\n",
      "[CV]  colsample_bytree=0.7999999999999999, subsample=0.7, score=-0.49566468610314585, total=  14.4s\n",
      "[CV] colsample_bytree=0.7999999999999999, subsample=0.7 ..............\n",
      "[CV]  colsample_bytree=0.7999999999999999, subsample=0.7, score=-0.4856287761097574, total=  14.5s\n",
      "[CV] colsample_bytree=0.7999999999999999, subsample=0.7999999999999999 \n",
      "[CV]  colsample_bytree=0.7999999999999999, subsample=0.7999999999999999, score=-0.4892105048401957, total=  15.5s\n",
      "[CV] colsample_bytree=0.7999999999999999, subsample=0.7999999999999999 \n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  colsample_bytree=0.7999999999999999, subsample=0.7999999999999999, score=-0.49451639759284255, total=  15.3s\n",
      "[CV] colsample_bytree=0.7999999999999999, subsample=0.7999999999999999 \n",
      "[CV]  colsample_bytree=0.7999999999999999, subsample=0.7999999999999999, score=-0.48672159819090915, total=  15.1s\n",
      "[CV] colsample_bytree=0.7999999999999999, subsample=0.8999999999999999 \n",
      "[CV]  colsample_bytree=0.7999999999999999, subsample=0.8999999999999999, score=-0.49313847084474144, total=  15.9s\n",
      "[CV] colsample_bytree=0.7999999999999999, subsample=0.8999999999999999 \n",
      "[CV]  colsample_bytree=0.7999999999999999, subsample=0.8999999999999999, score=-0.49579837772994606, total=  15.6s\n",
      "[CV] colsample_bytree=0.7999999999999999, subsample=0.8999999999999999 \n",
      "[CV]  colsample_bytree=0.7999999999999999, subsample=0.8999999999999999, score=-0.487557417133801, total=  15.7s\n",
      "[CV] colsample_bytree=0.8999999999999999, subsample=0.5 ..............\n",
      "[CV]  colsample_bytree=0.8999999999999999, subsample=0.5, score=-0.4898263222222228, total=  13.8s\n",
      "[CV] colsample_bytree=0.8999999999999999, subsample=0.5 ..............\n",
      "[CV]  colsample_bytree=0.8999999999999999, subsample=0.5, score=-0.5005530432676363, total=  13.6s\n",
      "[CV] colsample_bytree=0.8999999999999999, subsample=0.5 ..............\n",
      "[CV]  colsample_bytree=0.8999999999999999, subsample=0.5, score=-0.4874317040514653, total=  13.8s\n",
      "[CV] colsample_bytree=0.8999999999999999, subsample=0.6 ..............\n",
      "[CV]  colsample_bytree=0.8999999999999999, subsample=0.6, score=-0.49106626604025944, total=  15.3s\n",
      "[CV] colsample_bytree=0.8999999999999999, subsample=0.6 ..............\n",
      "[CV]  colsample_bytree=0.8999999999999999, subsample=0.6, score=-0.5026012836939495, total=  14.6s\n",
      "[CV] colsample_bytree=0.8999999999999999, subsample=0.6 ..............\n",
      "[CV]  colsample_bytree=0.8999999999999999, subsample=0.6, score=-0.4857506507206193, total=  15.7s\n",
      "[CV] colsample_bytree=0.8999999999999999, subsample=0.7 ..............\n",
      "[CV]  colsample_bytree=0.8999999999999999, subsample=0.7, score=-0.48919674388908196, total=  16.4s\n",
      "[CV] colsample_bytree=0.8999999999999999, subsample=0.7 ..............\n",
      "[CV]  colsample_bytree=0.8999999999999999, subsample=0.7, score=-0.5004250794943625, total=  16.8s\n",
      "[CV] colsample_bytree=0.8999999999999999, subsample=0.7 ..............\n",
      "[CV]  colsample_bytree=0.8999999999999999, subsample=0.7, score=-0.4873702660498387, total=  15.3s\n",
      "[CV] colsample_bytree=0.8999999999999999, subsample=0.7999999999999999 \n",
      "[CV]  colsample_bytree=0.8999999999999999, subsample=0.7999999999999999, score=-0.49042633773279487, total=  16.1s\n",
      "[CV] colsample_bytree=0.8999999999999999, subsample=0.7999999999999999 \n",
      "[CV]  colsample_bytree=0.8999999999999999, subsample=0.7999999999999999, score=-0.49218344466904657, total=  16.2s\n",
      "[CV] colsample_bytree=0.8999999999999999, subsample=0.7999999999999999 \n",
      "[CV]  colsample_bytree=0.8999999999999999, subsample=0.7999999999999999, score=-0.48949888566269795, total=  15.9s\n",
      "[CV] colsample_bytree=0.8999999999999999, subsample=0.8999999999999999 \n",
      "[CV]  colsample_bytree=0.8999999999999999, subsample=0.8999999999999999, score=-0.4926780319663551, total=  16.9s\n",
      "[CV] colsample_bytree=0.8999999999999999, subsample=0.8999999999999999 \n",
      "[CV]  colsample_bytree=0.8999999999999999, subsample=0.8999999999999999, score=-0.4958576087545282, total=  16.8s\n",
      "[CV] colsample_bytree=0.8999999999999999, subsample=0.8999999999999999 \n",
      "[CV]  colsample_bytree=0.8999999999999999, subsample=0.8999999999999999, score=-0.488805154885919, total=  17.6s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done  75 out of  75 | elapsed: 19.3min finished\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=StratifiedKFold(n_splits=3, random_state=5, shuffle=True),\n",
       "       error_score='raise-deprecating',\n",
       "       estimator=LGBMClassifier(bagging_freq=1, boosting_type='gbdt', class_weight=None,\n",
       "        colsample_bytree=1.0, importance_type='split', learning_rate=0.1,\n",
       "        max_bin=127, max_depth=7, min_child_samples=20,\n",
       "        min_child_shamps=40, min_child_weight=0.001, min_split_gain=0.0,\n",
       "        n_estimators=171, n_jobs=4, num_leaves=75, objective='multiclass',\n",
       "        random_state=None, reg_alpha=0.0, reg_lambda=0.0, silent=False,\n",
       "        subsample=1.0, subsample_for_bin=200000, subsample_freq=0),\n",
       "       fit_params=None, iid='warn', n_jobs=None,\n",
       "       param_grid={'subsample': array([0.5, 0.6, 0.7, 0.8, 0.9]), 'colsample_bytree': array([0.5, 0.6, 0.7, 0.8, 0.9])},\n",
       "       pre_dispatch='2*n_jobs', refit=False, return_train_score='warn',\n",
       "       scoring='neg_log_loss', verbose=5)"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "params = {'boosting_type': 'gbdt',\n",
    "          'objective': 'multiclass',\n",
    "          'n_jobs': 4,\n",
    "          'learning_rate': 0.1,\n",
    "          'num_leaves': 75,\n",
    "          'max_depth': 7,\n",
    "          'n_estimators':171,\n",
    "          'max_bin': 127, #2^6,原始特征为整数，很少超过100\n",
    "#           'subsample': 0.7,\n",
    "          'bagging_freq': 1,\n",
    "          'min_child_samples':40,\n",
    "#           'colsample_bytree': 0.7,\n",
    "         }\n",
    "tuned_params = dict(subsample=np.arange(0.5,1.0,0.1),colsample_bytree=np.arange(0.5,1.0,0.1))\n",
    "lgc = LGBMClassifier(silent=False,**params)\n",
    "gc = GridSearchCV(lgc,tuned_params,cv=kfold,verbose=5,scoring=\"neg_log_loss\",refit=False)\n",
    "gc.fit(X,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'colsample_bytree': 0.6, 'subsample': 0.7999999999999999} -0.48838472081692813\n"
     ]
    }
   ],
   "source": [
    "print(gc.best_params_,gc.best_score_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "调整正则化参数，alpha，lambda,这里加入正则，把max_bin稍微调大到150，样本抽样调为0.9,最大叶子节点数为80，树深度为8"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 3 folds for each of 16 candidates, totalling 48 fits\n",
      "[CV] reg_alpha=0.01, reg_lambda=0.01 .................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  reg_alpha=0.01, reg_lambda=0.01, score=-0.48511985009181896, total=  16.9s\n",
      "[CV] reg_alpha=0.01, reg_lambda=0.01 .................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   1 out of   1 | elapsed:   18.7s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  reg_alpha=0.01, reg_lambda=0.01, score=-0.48834706948917206, total=  22.2s\n",
      "[CV] reg_alpha=0.01, reg_lambda=0.01 .................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   2 out of   2 | elapsed:   42.5s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  reg_alpha=0.01, reg_lambda=0.01, score=-0.4813560739008016, total=  15.6s\n",
      "[CV] reg_alpha=0.01, reg_lambda=0.1 ..................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   3 out of   3 | elapsed:   59.7s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  reg_alpha=0.01, reg_lambda=0.1, score=-0.48469095497280945, total=  15.8s\n",
      "[CV] reg_alpha=0.01, reg_lambda=0.1 ..................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   4 out of   4 | elapsed:  1.3min remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  reg_alpha=0.01, reg_lambda=0.1, score=-0.48810845928896734, total=  15.7s\n",
      "[CV] reg_alpha=0.01, reg_lambda=0.1 ..................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=0.1, score=-0.48186150090838614, total=  15.7s\n",
      "[CV] reg_alpha=0.01, reg_lambda=0.5 ..................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=0.5, score=-0.48442381702789405, total=  16.0s\n",
      "[CV] reg_alpha=0.01, reg_lambda=0.5 ..................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=0.5, score=-0.4880226508173022, total=  15.8s\n",
      "[CV] reg_alpha=0.01, reg_lambda=0.5 ..................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=0.5, score=-0.4806615891040349, total=  15.2s\n",
      "[CV] reg_alpha=0.01, reg_lambda=1 ....................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=1, score=-0.4846888241198471, total=  15.8s\n",
      "[CV] reg_alpha=0.01, reg_lambda=1 ....................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=1, score=-0.4876017314511561, total=  15.6s\n",
      "[CV] reg_alpha=0.01, reg_lambda=1 ....................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=1, score=-0.48153987373862994, total=  15.3s\n",
      "[CV] reg_alpha=0.1, reg_lambda=0.01 ..................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=0.01, score=-0.48452096402679795, total=  15.8s\n",
      "[CV] reg_alpha=0.1, reg_lambda=0.01 ..................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=0.01, score=-0.4867662586267821, total=  15.5s\n",
      "[CV] reg_alpha=0.1, reg_lambda=0.01 ..................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=0.01, score=-0.48167779373011177, total=  15.5s\n",
      "[CV] reg_alpha=0.1, reg_lambda=0.1 ...................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=0.1, score=-0.48380639095485545, total=  15.6s\n",
      "[CV] reg_alpha=0.1, reg_lambda=0.1 ...................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=0.1, score=-0.48689168631907476, total=  16.1s\n",
      "[CV] reg_alpha=0.1, reg_lambda=0.1 ...................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=0.1, score=-0.4824138943272079, total=  16.1s\n",
      "[CV] reg_alpha=0.1, reg_lambda=0.5 ...................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=0.5, score=-0.4842015532653915, total=  16.2s\n",
      "[CV] reg_alpha=0.1, reg_lambda=0.5 ...................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=0.5, score=-0.4880966016646117, total=  15.9s\n",
      "[CV] reg_alpha=0.1, reg_lambda=0.5 ...................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=0.5, score=-0.48084743141687963, total=  15.6s\n",
      "[CV] reg_alpha=0.1, reg_lambda=1 .....................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=1, score=-0.4847994929498003, total=  15.8s\n",
      "[CV] reg_alpha=0.1, reg_lambda=1 .....................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=1, score=-0.4870735238843402, total=  15.5s\n",
      "[CV] reg_alpha=0.1, reg_lambda=1 .....................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=1, score=-0.48125864709129335, total=  15.8s\n",
      "[CV] reg_alpha=0.5, reg_lambda=0.01 ..................................\n",
      "[CV]  reg_alpha=0.5, reg_lambda=0.01, score=-0.48381644091940296, total=  15.9s\n",
      "[CV] reg_alpha=0.5, reg_lambda=0.01 ..................................\n",
      "[CV]  reg_alpha=0.5, reg_lambda=0.01, score=-0.48463805727385073, total=  15.5s\n",
      "[CV] reg_alpha=0.5, reg_lambda=0.01 ..................................\n",
      "[CV]  reg_alpha=0.5, reg_lambda=0.01, score=-0.4808789959861373, total=  15.9s\n",
      "[CV] reg_alpha=0.5, reg_lambda=0.1 ...................................\n",
      "[CV]  reg_alpha=0.5, reg_lambda=0.1, score=-0.48237886389746704, total=  16.3s\n",
      "[CV] reg_alpha=0.5, reg_lambda=0.1 ...................................\n",
      "[CV]  reg_alpha=0.5, reg_lambda=0.1, score=-0.4849972112055908, total=  15.5s\n",
      "[CV] reg_alpha=0.5, reg_lambda=0.1 ...................................\n",
      "[CV]  reg_alpha=0.5, reg_lambda=0.1, score=-0.480284083391996, total=  15.6s\n",
      "[CV] reg_alpha=0.5, reg_lambda=0.5 ...................................\n",
      "[CV]  reg_alpha=0.5, reg_lambda=0.5, score=-0.483277570999931, total=  15.9s\n",
      "[CV] reg_alpha=0.5, reg_lambda=0.5 ...................................\n",
      "[CV]  reg_alpha=0.5, reg_lambda=0.5, score=-0.4857372805694581, total=  15.3s\n",
      "[CV] reg_alpha=0.5, reg_lambda=0.5 ...................................\n",
      "[CV]  reg_alpha=0.5, reg_lambda=0.5, score=-0.47973841216851715, total=  15.7s\n",
      "[CV] reg_alpha=0.5, reg_lambda=1 .....................................\n",
      "[CV]  reg_alpha=0.5, reg_lambda=1, score=-0.4828737134671398, total=  15.6s\n",
      "[CV] reg_alpha=0.5, reg_lambda=1 .....................................\n",
      "[CV]  reg_alpha=0.5, reg_lambda=1, score=-0.48746789606044505, total=  15.4s\n",
      "[CV] reg_alpha=0.5, reg_lambda=1 .....................................\n",
      "[CV]  reg_alpha=0.5, reg_lambda=1, score=-0.4813260616468676, total=  15.5s\n",
      "[CV] reg_alpha=1, reg_lambda=0.01 ....................................\n",
      "[CV]  reg_alpha=1, reg_lambda=0.01, score=-0.48202769914147686, total=  15.5s\n",
      "[CV] reg_alpha=1, reg_lambda=0.01 ....................................\n",
      "[CV]  reg_alpha=1, reg_lambda=0.01, score=-0.4853337673551552, total=  15.8s\n",
      "[CV] reg_alpha=1, reg_lambda=0.01 ....................................\n",
      "[CV]  reg_alpha=1, reg_lambda=0.01, score=-0.4801279808557818, total=  15.4s\n",
      "[CV] reg_alpha=1, reg_lambda=0.1 .....................................\n",
      "[CV]  reg_alpha=1, reg_lambda=0.1, score=-0.4828411356944543, total=  15.3s\n",
      "[CV] reg_alpha=1, reg_lambda=0.1 .....................................\n",
      "[CV]  reg_alpha=1, reg_lambda=0.1, score=-0.4860610565657911, total=  15.6s\n",
      "[CV] reg_alpha=1, reg_lambda=0.1 .....................................\n",
      "[CV]  reg_alpha=1, reg_lambda=0.1, score=-0.4811484441316719, total=  15.4s\n",
      "[CV] reg_alpha=1, reg_lambda=0.5 .....................................\n",
      "[CV]  reg_alpha=1, reg_lambda=0.5, score=-0.48206346122318283, total=  15.4s\n",
      "[CV] reg_alpha=1, reg_lambda=0.5 .....................................\n",
      "[CV]  reg_alpha=1, reg_lambda=0.5, score=-0.48748922827131924, total=  15.4s\n",
      "[CV] reg_alpha=1, reg_lambda=0.5 .....................................\n",
      "[CV]  reg_alpha=1, reg_lambda=0.5, score=-0.481507109160599, total=  15.5s\n",
      "[CV] reg_alpha=1, reg_lambda=1 .......................................\n",
      "[CV]  reg_alpha=1, reg_lambda=1, score=-0.4820163995414025, total=  15.4s\n",
      "[CV] reg_alpha=1, reg_lambda=1 .......................................\n",
      "[CV]  reg_alpha=1, reg_lambda=1, score=-0.48624004219300365, total=  15.5s\n",
      "[CV] reg_alpha=1, reg_lambda=1 .......................................\n",
      "[CV]  reg_alpha=1, reg_lambda=1, score=-0.4813121619035463, total=  15.5s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done  48 out of  48 | elapsed: 14.0min finished\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=StratifiedKFold(n_splits=3, random_state=5, shuffle=True),\n",
       "       error_score='raise-deprecating',\n",
       "       estimator=LGBMClassifier(bagging_freq=1, boosting_type='gbdt', class_weight=None,\n",
       "        colsample_bytree=0.6, importance_type='split', learning_rate=0.1,\n",
       "        max_bin=150, max_depth=8, min_child_samples=20,\n",
       "        min_child_shamps=40, min_child_weight=0.001, min_split_gain=0.0,\n",
       "        n_estim...    reg_lambda=0.0, silent=False, subsample=0.9,\n",
       "        subsample_for_bin=200000, subsample_freq=0),\n",
       "       fit_params=None, iid='warn', n_jobs=None,\n",
       "       param_grid={'reg_alpha': [0.01, 0.1, 0.5, 1], 'reg_lambda': [0.01, 0.1, 0.5, 1]},\n",
       "       pre_dispatch='2*n_jobs', refit=False, return_train_score='warn',\n",
       "       scoring='neg_log_loss', verbose=5)"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "params = {'boosting_type': 'gbdt',\n",
    "          'objective': 'multiclass',\n",
    "          'n_jobs': 4,\n",
    "          'num_class':9,\n",
    "          'learning_rate': 0.1,\n",
    "          'num_leaves': 80,\n",
    "          'max_depth': 8,\n",
    "          'n_estimators':171,\n",
    "          'max_bin': 150, #2^6,原始特征为整数，很少超过100\n",
    "          'subsample': 0.9,\n",
    "          'bagging_freq': 1,\n",
    "          'colsample_bytree': 0.6,\n",
    "          'min_child_samples':40\n",
    "         }\n",
    "tuned_params = dict(reg_alpha=[0.01,0.1,0.5,1],reg_lambda=[0.01,0.1,0.5,1])\n",
    "lgc = LGBMClassifier(silent=False,**params)\n",
    "gc = GridSearchCV(lgc,tuned_params,cv=kfold,scoring='neg_log_loss',verbose=5,refit=False)\n",
    "gc.fit(X,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'reg_alpha': 1, 'reg_lambda': 0.01} -0.482496543852863\n"
     ]
    }
   ],
   "source": [
    "print(gc.best_params_,gc.best_score_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "取值在边界处，进行可视化观察一下"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [],
   "source": [
    "test_score = gc.cv_results_['mean_test_score'].reshape(len(tuned_params['reg_alpha']),-1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[-0.48494112 -0.48488706 -0.48436947 -0.48461024]\n",
      " [-0.48432176 -0.4843707  -0.48438197 -0.48437734]\n",
      " [-0.48311126 -0.48255345 -0.48291787 -0.48388927]\n",
      " [-0.48249654 -0.48335027 -0.48368662 -0.48318956]]\n"
     ]
    }
   ],
   "source": [
    "print(test_score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x1a35a3fc88>"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "for i in range(len(test_score)):\n",
    "    plt.plot(tuned_params['reg_alpha'],-test_score[i],label=tuned_params['reg_alpha'][i])\n",
    "plt.xlabel('reg_lambda')\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "继续调整lambda正则"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 3 folds for each of 3 candidates, totalling 9 fits\n",
      "[CV] reg_lambda=0.001 ................................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] ...... reg_lambda=0.001, score=-0.4818175980520958, total=  16.4s\n",
      "[CV] reg_lambda=0.001 ................................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   1 out of   1 | elapsed:   18.1s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] ....... reg_lambda=0.001, score=-0.484756531343152, total=  15.5s\n",
      "[CV] reg_lambda=0.001 ................................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   2 out of   2 | elapsed:   35.3s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] ..... reg_lambda=0.001, score=-0.48011323238661324, total=  15.3s\n",
      "[CV] reg_lambda=0.005 ................................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   3 out of   3 | elapsed:   52.4s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] ...... reg_lambda=0.005, score=-0.4827742757530185, total=  15.3s\n",
      "[CV] reg_lambda=0.005 ................................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   4 out of   4 | elapsed:  1.2min remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] ...... reg_lambda=0.005, score=-0.4854411283731592, total=  15.7s\n",
      "[CV] reg_lambda=0.005 ................................................\n",
      "[CV] ..... reg_lambda=0.005, score=-0.48044522688797553, total=  15.7s\n",
      "[CV] reg_lambda=0.01 .................................................\n",
      "[CV] ...... reg_lambda=0.01, score=-0.48202769914147686, total=  15.6s\n",
      "[CV] reg_lambda=0.01 .................................................\n",
      "[CV] ....... reg_lambda=0.01, score=-0.4853337673551552, total=  15.8s\n",
      "[CV] reg_lambda=0.01 .................................................\n",
      "[CV] ....... reg_lambda=0.01, score=-0.4801279808557818, total=  15.8s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   9 out of   9 | elapsed:  2.6min finished\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=StratifiedKFold(n_splits=3, random_state=5, shuffle=True),\n",
       "       error_score='raise-deprecating',\n",
       "       estimator=LGBMClassifier(bagging_freq=1, boosting_type='gbdt', class_weight=None,\n",
       "        colsample_bytree=0.6, importance_type='split', learning_rate=0.1,\n",
       "        max_bin=150, max_depth=8, min_child_samples=20,\n",
       "        min_child_shamps=40, min_child_weight=0.001, min_split_gain=0.0,\n",
       "        n_estim...    reg_lambda=0.0, silent=False, subsample=0.9,\n",
       "        subsample_for_bin=200000, subsample_freq=0),\n",
       "       fit_params=None, iid='warn', n_jobs=None,\n",
       "       param_grid={'reg_lambda': [0.001, 0.005, 0.01]},\n",
       "       pre_dispatch='2*n_jobs', refit=False, return_train_score='warn',\n",
       "       scoring='neg_log_loss', verbose=5)"
      ]
     },
     "execution_count": 70,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "params = {'boosting_type': 'gbdt',\n",
    "          'objective': 'multiclass',\n",
    "          'n_jobs': 4,\n",
    "          'num_class':9,\n",
    "          'learning_rate': 0.1,\n",
    "          'num_leaves': 80,\n",
    "          'max_depth': 8,\n",
    "          'n_estimators':171,\n",
    "          'max_bin': 150, #2^6,原始特征为整数，很少超过100\n",
    "          'subsample': 0.9,\n",
    "          'bagging_freq': 1,\n",
    "          'colsample_bytree': 0.6,\n",
    "          'min_child_shamps':40,\n",
    "          'reg_alpha':1\n",
    "         }\n",
    "tuned_params = dict(reg_lambda=[0.001,0.005,0.01])\n",
    "lgc = LGBMClassifier(silent=False,**params)\n",
    "gc = GridSearchCV(lgc,tuned_params,cv=kfold,verbose=5,scoring='neg_log_loss',refit=False)\n",
    "gc.fit(X,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'reg_lambda': 0.001} -0.4822291756818901\n"
     ]
    }
   ],
   "source": [
    "print(gc.best_params_,gc.best_score_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "还是在边界处，已经是很小的值了，这里我不添加lambda正则了，再调整一下alpha正则"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 3 folds for each of 5 candidates, totalling 15 fits\n",
      "[CV] reg_alpha=1.0 ...................................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] ......... reg_alpha=1.0, score=-0.4814609644452392, total=  14.7s\n",
      "[CV] reg_alpha=1.0 ...................................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   1 out of   1 | elapsed:   16.4s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] ........ reg_alpha=1.0, score=-0.48515262002563714, total=  15.4s\n",
      "[CV] reg_alpha=1.0 ...................................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   2 out of   2 | elapsed:   33.7s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] .......... reg_alpha=1.0, score=-0.480559643991351, total=  15.7s\n",
      "[CV] reg_alpha=1.1 ...................................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   3 out of   3 | elapsed:   51.0s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] ........ reg_alpha=1.1, score=-0.48233414955577886, total=  14.7s\n",
      "[CV] reg_alpha=1.1 ...................................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   4 out of   4 | elapsed:  1.1min remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] ........ reg_alpha=1.1, score=-0.48480083916208594, total=  15.0s\n",
      "[CV] reg_alpha=1.1 ...................................................\n",
      "[CV] ........ reg_alpha=1.1, score=-0.48096540858111025, total=  14.7s\n",
      "[CV] reg_alpha=1.2000000000000002 ....................................\n",
      "[CV]  reg_alpha=1.2000000000000002, score=-0.48269080771618394, total=  15.0s\n",
      "[CV] reg_alpha=1.2000000000000002 ....................................\n",
      "[CV]  reg_alpha=1.2000000000000002, score=-0.48548712796494536, total=  14.9s\n",
      "[CV] reg_alpha=1.2000000000000002 ....................................\n",
      "[CV]  reg_alpha=1.2000000000000002, score=-0.48000962139130793, total=  15.1s\n",
      "[CV] reg_alpha=1.3000000000000003 ....................................\n",
      "[CV]  reg_alpha=1.3000000000000003, score=-0.4825674683157753, total=  14.7s\n",
      "[CV] reg_alpha=1.3000000000000003 ....................................\n",
      "[CV]  reg_alpha=1.3000000000000003, score=-0.48595648105242245, total=  14.7s\n",
      "[CV] reg_alpha=1.3000000000000003 ....................................\n",
      "[CV]  reg_alpha=1.3000000000000003, score=-0.4804635671960934, total=  14.9s\n",
      "[CV] reg_alpha=1.4000000000000004 ....................................\n",
      "[CV]  reg_alpha=1.4000000000000004, score=-0.481321823830362, total=  15.0s\n",
      "[CV] reg_alpha=1.4000000000000004 ....................................\n",
      "[CV]  reg_alpha=1.4000000000000004, score=-0.4859507666456022, total=  17.2s\n",
      "[CV] reg_alpha=1.4000000000000004 ....................................\n",
      "[CV]  reg_alpha=1.4000000000000004, score=-0.48005208114809966, total=  15.3s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done  15 out of  15 | elapsed:  4.2min finished\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=StratifiedKFold(n_splits=3, random_state=5, shuffle=True),\n",
       "       error_score='raise-deprecating',\n",
       "       estimator=LGBMClassifier(bagging_freq=1, boosting_type='gbdt', class_weight=None,\n",
       "        colsample_bytree=0.6, importance_type='split', learning_rate=0.1,\n",
       "        max_bin=150, max_depth=8, min_child_samples=20,\n",
       "        min_child_shamps=40, min_child_weight=0.001, min_split_gain=0.0,\n",
       "        n_estim...    reg_lambda=0.0, silent=False, subsample=0.9,\n",
       "        subsample_for_bin=200000, subsample_freq=0),\n",
       "       fit_params=None, iid='warn', n_jobs=None,\n",
       "       param_grid={'reg_alpha': array([1. , 1.1, 1.2, 1.3, 1.4])},\n",
       "       pre_dispatch='2*n_jobs', refit=False, return_train_score='warn',\n",
       "       scoring='neg_log_loss', verbose=5)"
      ]
     },
     "execution_count": 72,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "params = {'boosting_type': 'gbdt',\n",
    "          'objective': 'multiclass',\n",
    "          'n_jobs': 4,\n",
    "          'num_class':9,\n",
    "          'learning_rate': 0.1,\n",
    "          'num_leaves': 80,\n",
    "          'max_depth': 8,\n",
    "          'n_estimators':171,\n",
    "          'max_bin': 150, #2^6,原始特征为整数，很少超过100\n",
    "          'subsample': 0.9,\n",
    "          'bagging_freq': 1,\n",
    "          'colsample_bytree': 0.6,\n",
    "          'min_child_shamps':40,\n",
    "#           'reg_alpha':1\n",
    "         }\n",
    "tuned_params = dict(reg_alpha=np.arange(1,1.5,0.1))\n",
    "lgc = LGBMClassifier(silent=False,**params)\n",
    "gc = GridSearchCV(lgc,tuned_params,cv=kfold,verbose=5,scoring='neg_log_loss',refit=False)\n",
    "gc.fit(X,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'reg_alpha': 1.0} -0.4823911052862538\n"
     ]
    }
   ],
   "source": [
    "print(gc.best_params_,gc.best_score_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "最佳值还是在1，所以就使用1了\n",
    "重要参数调整完成，调正则时有修改部分参数，现将参数调回去，使用10折验证，查看模型性能"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 10 folds for each of 1 candidates, totalling 10 fits\n",
      "[CV] reg_alpha=1 .....................................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] .......... reg_alpha=1, score=-0.48986450556086075, total=  15.8s\n",
      "[CV] reg_alpha=1 .....................................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   1 out of   1 | elapsed:   17.7s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] .......... reg_alpha=1, score=-0.47466447448353405, total=  15.5s\n",
      "[CV] reg_alpha=1 .....................................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   2 out of   2 | elapsed:   35.0s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] ........... reg_alpha=1, score=-0.4770108092440346, total=  17.1s\n",
      "[CV] reg_alpha=1 .....................................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   3 out of   3 | elapsed:   54.0s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] .......... reg_alpha=1, score=-0.49580771601038715, total=  15.8s\n",
      "[CV] reg_alpha=1 .....................................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   4 out of   4 | elapsed:  1.2min remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] .......... reg_alpha=1, score=-0.47459395706373114, total=  15.7s\n",
      "[CV] reg_alpha=1 .....................................................\n",
      "[CV] ........... reg_alpha=1, score=-0.4816277550227141, total=  15.8s\n",
      "[CV] reg_alpha=1 .....................................................\n",
      "[CV] .......... reg_alpha=1, score=-0.47395632701590634, total=  15.9s\n",
      "[CV] reg_alpha=1 .....................................................\n",
      "[CV] ........... reg_alpha=1, score=-0.4551657672798576, total=  16.4s\n",
      "[CV] reg_alpha=1 .....................................................\n",
      "[CV] .......... reg_alpha=1, score=-0.47263496603311256, total=  15.9s\n",
      "[CV] reg_alpha=1 .....................................................\n",
      "[CV] ............ reg_alpha=1, score=-0.472528850959642, total=  16.0s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done  10 out of  10 | elapsed:  3.0min finished\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=10, error_score='raise-deprecating',\n",
       "       estimator=LGBMClassifier(bagging_freq=1, boosting_type='gbdt', class_weight=None,\n",
       "        colsample_bytree=0.6, importance_type='split', learning_rate=0.1,\n",
       "        max_bin=150, max_depth=7, min_child_samples=20,\n",
       "        min_child_shamps=40, min_child_weight=0.001, min_split_gain=0.0,\n",
       "        n_estim...    reg_lambda=0.0, silent=False, subsample=0.8,\n",
       "        subsample_for_bin=200000, subsample_freq=0),\n",
       "       fit_params=None, iid='warn', n_jobs=None,\n",
       "       param_grid={'reg_alpha': [1]}, pre_dispatch='2*n_jobs', refit=False,\n",
       "       return_train_score='warn', scoring='neg_log_loss', verbose=5)"
      ]
     },
     "execution_count": 75,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "params = {'boosting_type': 'gbdt',\n",
    "          'objective': 'multiclass',\n",
    "          'n_jobs': 4,\n",
    "          'num_class':9,\n",
    "          'learning_rate': 0.1,\n",
    "          'num_leaves': 75,\n",
    "          'max_depth': 7,\n",
    "          'n_estimators':171,\n",
    "          'max_bin': 150, \n",
    "          'subsample': 0.8,\n",
    "          'bagging_freq': 1,\n",
    "          'colsample_bytree': 0.6,\n",
    "          'min_child_shamps':40,\n",
    "          'reg_alpha':1\n",
    "         }\n",
    "lgc = LGBMClassifier(silent=False,**params)\n",
    "tuned_params = dict(reg_alpha=[1])\n",
    "gc = GridSearchCV(lgc,tuned_params,verbose=5,cv=10,scoring='neg_log_loss',refit=False)\n",
    "gc.fit(X,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "-0.4767879894444561\n"
     ]
    }
   ],
   "source": [
    "print(gc.best_score_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "效果还是差不多，将学习率调低，重新学习树的数目"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [],
   "source": [
    "params = {'boosting_type': 'gbdt',\n",
    "          'objective': 'multiclass',\n",
    "          'n_jobs': 4,\n",
    "          'num_class':9,\n",
    "          'learning_rate': 0.01,\n",
    "          'num_leaves': 75,\n",
    "          'max_depth': 7,\n",
    "#           'n_estimators':171,\n",
    "          'max_bin': 150, \n",
    "          'subsample': 0.8,\n",
    "          'bagging_freq': 1,\n",
    "          'colsample_bytree': 0.6,\n",
    "          'min_child_shamps':40,\n",
    "          'reg_alpha':1\n",
    "         }\n",
    "lgbm_data = lgbm.Dataset(X,y)\n",
    "cv_result = lgbm.cv(params,lgbm_data,nfold=10,num_boost_round=200000,metrics='multi_logloss',early_stopping_rounds=20,seed=5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "4156\n"
     ]
    }
   ],
   "source": [
    "print(len(cv_result['multi_logloss-mean']))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.4469474936969826\n"
     ]
    }
   ],
   "source": [
    "print(cv_result['multi_logloss-mean'][-1])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "将调整好的参数对整体数据进行训练"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LGBMClassifier(bagging_freq=1, boosting_type='gbdt', class_weight=None,\n",
       "        colsample_bytree=0.6, importance_type='split', learning_rate=0.01,\n",
       "        max_bin=150, max_depth=7, min_child_samples=20,\n",
       "        min_child_shamps=40, min_child_weight=0.001, min_split_gain=0.0,\n",
       "        n_estimators=4156, n_jobs=4, num_class=9, num_leaves=75,\n",
       "        objective='multiclass', random_state=None, reg_alpha=1,\n",
       "        reg_lambda=0.0, silent=False, subsample=0.8,\n",
       "        subsample_for_bin=200000, subsample_freq=0)"
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "params = {'boosting_type': 'gbdt',\n",
    "          'objective': 'multiclass',\n",
    "          'n_jobs': 4,\n",
    "          'num_class':9,\n",
    "          'learning_rate': 0.01,\n",
    "          'num_leaves': 75,\n",
    "          'max_depth': 7,\n",
    "          'n_estimators':4156,\n",
    "          'max_bin': 150, \n",
    "          'subsample': 0.8,\n",
    "          'bagging_freq': 1,\n",
    "          'colsample_bytree': 0.6,\n",
    "          'min_child_shamps':40,\n",
    "          'reg_alpha':1\n",
    "         }\n",
    "lgc = LGBMClassifier(silent=False,**params)\n",
    "lgc.fit(X,y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "保存模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {},
   "outputs": [],
   "source": [
    "pc.dump(lgc,open('lgbm_gbdt.pkl',\"wb\"))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 读取模型和测试数据，对模型进行测试"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "读取测试数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>feat_1</th>\n",
       "      <th>feat_2</th>\n",
       "      <th>feat_3</th>\n",
       "      <th>feat_4</th>\n",
       "      <th>feat_5</th>\n",
       "      <th>feat_6</th>\n",
       "      <th>feat_7</th>\n",
       "      <th>feat_8</th>\n",
       "      <th>feat_9</th>\n",
       "      <th>...</th>\n",
       "      <th>feat_84</th>\n",
       "      <th>feat_85</th>\n",
       "      <th>feat_86</th>\n",
       "      <th>feat_87</th>\n",
       "      <th>feat_88</th>\n",
       "      <th>feat_89</th>\n",
       "      <th>feat_90</th>\n",
       "      <th>feat_91</th>\n",
       "      <th>feat_92</th>\n",
       "      <th>feat_93</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>11</td>\n",
       "      <td>1</td>\n",
       "      <td>20</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>14</td>\n",
       "      <td>16</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 94 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   id  feat_1  feat_2  feat_3  feat_4  feat_5  feat_6  feat_7  feat_8  feat_9  \\\n",
       "0   1       0       0       0       0       0       0       0       0       0   \n",
       "1   2       2       2      14      16       0       0       0       0       0   \n",
       "2   3       0       1      12       1       0       0       0       0       0   \n",
       "3   4       0       0       0       1       0       0       0       0       0   \n",
       "4   5       1       0       0       1       0       0       1       2       0   \n",
       "\n",
       "   ...  feat_84  feat_85  feat_86  feat_87  feat_88  feat_89  feat_90  \\\n",
       "0  ...        0        0       11        1       20        0        0   \n",
       "1  ...        0        0        0        0        0        4        0   \n",
       "2  ...        0        0        0        0        2        0        0   \n",
       "3  ...        0        3        1        0        0        0        0   \n",
       "4  ...        0        0        0        0        0        0        0   \n",
       "\n",
       "   feat_91  feat_92  feat_93  \n",
       "0        0        0        0  \n",
       "1        0        2        0  \n",
       "2        0        0        1  \n",
       "3        0        0        0  \n",
       "4        9        0        0  \n",
       "\n",
       "[5 rows x 94 columns]"
      ]
     },
     "execution_count": 92,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv('Otto_test.csv')\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "读取模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {},
   "outputs": [],
   "source": [
    "lgc = pc.load(open(\"lgbm_gbdt.pkl\",\"rb\"))\n",
    "tfidf = pc.load(open('tfidf.pkl','rb'))\n",
    "mms_tfidf = pc.load(open('mms_tfidf.pkl','rb'))\n",
    "mms_log = pc.load(open('mms_log.pkl','rb'))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "特征工程"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 获取index和columns\n",
    "index = df['id']\n",
    "data = df.drop(['id'],axis=1)\n",
    "columns_name = data.columns\n",
    "\n",
    "# 处理数据\n",
    "df_log = np.log1p(data)\n",
    "df_tfidf = tfidf.fit_transform(data).toarray()\n",
    "df_log_mms = mms_log.fit_transform(df_log)\n",
    "df_tfidf_mms = mms_tfidf.fit_transform(df_tfidf)\n",
    "\n",
    "# 拼接数据\n",
    "X = np.hstack((df_log_mms,df_tfidf_mms))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 保存处理好的数据\n",
    "ttt = pd.DataFrame(data=pd.concat([index,pd.DataFrame(data=X,columns=(columns_name+'_log').append(columns_name+'_tfidf'))],axis=1))\n",
    "ttt.to_csv('Otto_test_final_data.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 预测数据\n",
    "result = lgc.predict_proba(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {},
   "outputs": [],
   "source": [
    "index = df['id']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 生成提交数据\n",
    "col_name = ['Class_'+str(i) for i in range(1,10)]\n",
    "data = pd.DataFrame(data=result,columns=col_name)\n",
    "final = pd.concat([index,data],axis=1)\n",
    "# 保存结果\n",
    "final.to_csv('lgbm_gbdt_result.csv',index=False)"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "iVBORw0KGgoAAAANSUhEUgAAB4gAAAN2CAYAAAAL8dQlAAAgAElEQVR4AezdB5wXxf3/8aEcHOUoKioCIigo2LvG8jPEEqP8bdEYYzcajSVqYu+9RSzYe+8FSzQqamyxBFEEpEuT3uG4yt33/3iv7rm335n97rffwWseD7zvd3d2Zva5+93v1/3szLSorK5JGBICCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAwGov0HK130N2EAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEDAEyBAzImAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIrCECBIjXkAPNbiKAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIEiDkHEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgTVEgADxGnKg2U0EEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEECAADHnAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIILCGCBAgXkMONLuJAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIECDmHEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQTWEAECxGvIgWY3EUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQLEnAMIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIDAGiJAgHgNOdDsJgIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIECAmHMAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQWEMECBCvIQea3UQAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQRa55pg1apaU11VZWprak1NbY2pq6vPdRWUhwACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCKwRAq1atTJtSkpMSZsS07a01LRuXZLVfreorK5JZFVCYOPKipVm6dJlgSW8RAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBDIlUCXLp1Nu/YdMi4uZwHipUuWmMrKSq8hnTqVmXal7UybNiWmdeucd1LOeGfZEAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEGhOAqtWrTI1NTWmsqrKLF++wmt6u3btTJeuXTPajZxEb9VzWMFhBYPXXqurad++fUaNYSMEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgV8EFIPVP8Vg25WWmkWLf+q427Ztm4x6Erf8pejMXmnOYX9YaYLDmRmyFQIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIJBKQEFixWSVFKNVrDbdlHWAuLqqyquzU1kZPYfT1Sc/AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggkIaAgsSa8lfJj9WmsbnJOkBcW/NTVFrjXJMQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBPIroKGmlWpri9CDuObnStu0KcnvXlI6AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggIBp06aNp1Dzc2fedEiy7kFcV1fn1aeJkUkIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAvkV8GOzfqw2ndqyDhCnUxl5EUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQSKJ0CAuHj21IwAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggUVIAAcUG5qQwBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBAongAB4uLZUzMCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCBQUAECxAXlpjIEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEECgeAIEiItnT80IIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAQQUIEBeUm8oQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACB4gkQIC6ePTUjgAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACBRUgQFxQbipDAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEiidAgLh49tSMAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIFFSAAHFBuakMAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQKJ4AAeLi2VMzAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggUFABAsQF5aYyBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAoHgCBIiLZ0/NCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQEEFCBAXlJvKEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgeIJECAunj01I4AAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgUVIEBcUG4qQwABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBIonQIC4ePbUjAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCBRUgABxQbmpDAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEECieAAHi4tlTMwIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIFBQAQLEBeWmMgQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQKB4AgSIi2dPzQgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEBBBQgQF5SbyhBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIHiCRAgLp49NSOAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIFFSBAXFBuKkMAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQSKJ0CAuHj21IwAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggUVIAAcUG5qQwBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBAongAB4uLZUzMCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCBQUAECxAXlpjIEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEECgeAIEiItnT80IIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAQQUIEBeUm8oQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACB4gkQIC6ePTUjgAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACBRUgQFxQbipDAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEiidAgLh49tSMAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIFFSAAHFBuakMAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQKJ4AAeLi2VMzAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggUFABAsQF5aYyBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAoHgCBIiLZ0/NCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQEEFCBAXlJvKEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgeIJECAunj01I4AAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgUVIEBcUG4qQwABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBIonQIC4ePbUjAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCBRUgABxQbmpDAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEECieAAHi4tlTMwIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIFBQAQLEBeWmMgQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQKB4AgSIi2dPzQgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEBBBVoXtDYqQwABBBBAAAEEEEAAAQQQQAABBAICFRUVZvbs2aaurs60b9/erL/++qakpCSQg5cIIIAAAggggAACCCCAAAK5FCBAnEtNykIAAQQQQACBrAVWrlxpvv32WzN37lyzYMECs3z5ctOlSxezzjrrmPXWW89ss802pkOHDlnXQwHRAjU1NWbUqFHecZg3b55ZvHix6datm+ndu7fZcMMNTc+ePU1paWl0IaxtNgL63CkwEyd17NjRtGzJQES+1fXXX28uueQS/23D3/fff98MGjSo4T0vciuwbNkyM2LECDN//nyja5Ted+/e3fTt29f06dPHu06lG2B86qmnzDHHHJPU0FdffdUcfPDBSctZkJ3AF198YW6++WYzfPhws2LFikaF9e/f30yYMKHRMt4gkE8B/e4ZOXKk+fHHH73rysKFC03nzp3Nxhtv7F1TdF3RwwvppOZ+Tfnhhx+8/Q/v8znnnGOGDBkSXmz+/Oc/m4cffrjR8rKyMjN27FjTq1evRst5gwACCCCAAAIIIFB8AQLExT8GtAABBBBAAIE1XqC6uto8+eST5qWXXjLvvPNOSo999tnHHHLIIea4445L+2ZdysLX4AyJRMK8/vrr5oUXXjBvvPFG0g37MI1u4J9//vnm6KOPNm3btg2v5n0zEthvv/3MZ599FrvFOvb+TfMdd9zR/PGPf1xjz4H6+nqrWzjgZc3EwrQEFMBRwEXXqDjfFbvssou5/PLLzf777x+rHl0DbUkBI5JdYOuttzZTp05NWqmHu6LSmWeeae66666oLI3W7bnnnt7DY40WGmOmTJniPbwUXr4mvtdx0PEIp7333tu88sor4cW8/1ng3XffNY8//nis3z16OO7iiy82J554YqzvvNX1mjJt2jTr+WPbX30XKthOgNhKxkIEEEAAAQQQQKCoAjz6X1R+KkcAAQQQQGDNFtCNpMcee8xssskm5uSTT451w19i7733nvnrX//q9eh44IEHjCtAs2brprf3Cg7uvPPOXi+5Z555JmVwWKVPnDjR6y2iHsX33HOPqaqqSq9ScjdbAR37t99+2zvuJ5xwgtdbU8Ee9UQmIZAPAT20MmDAAHPSSSfF/q5QD9Xf/e53ZtdddzUffPBBPpq1xpepoKQCQOF/UTBvvvlmWsFhlTVr1qykOlQn3/+/SOv6Gz4Oeq/hu0nJAqNHjza//e1vjR6Qivu7Rw+L6Penfrc++uijpra2NrlgliCAAAIIIIAAAggg0EwECBA3kwNFMxFAAAEEEFjdBCorK72epwouZdo7S0OL/uUvfzFHHnkkN0CzOEFuuOEGs/vuu5v//e9/GZWi43D66ad7x2HVqlUZlcFGzVtA54B6BGqI38mTJzfvnaH1TUpAAcALL7zQ/L//9/+MhjvNJClQ/Jvf/MZcccUVmWzONjkU0PFUkJ+EQDEFNGz8VlttFfthk3Bb9btVvYgVYCZIHNbhPQIIIIAAAggggEBzESBA3FyOFO1EAAEEEEBgNRJQjxbNzakeG7lIL774otljjz28njNxynv55ZfN9ttv3+jf1VdfHWdTL48CDeHt1bupuSXdqFdgV8Ml5iK99tpr5rzzzstFUZTRTAX02T7ooIPoSdxMj1/cZmd7DY1bj+bFVjDxpptuirtJZD5d5/V9QSqegAJreqDElrbbbjtvTmL1Fn/kkUdsWdaIZYX6fK0RmJad1By5hx56qGVN+os0MsG5556b/oZsgQACCCCAAAIIIIBAExBgDuImcBBoAgIIIIAAAmuawKmnnmrUo8uVFOxVAFlzm2rOsu+//97897//Nf/617+cPchGjhxpVO7TTz/tKrZh+aJFi4zyB1Pv3r2DbyNfq6etAmHBpBvePXr0CC5q8q+HDBniDRHsauhuu+3m9SzeaaedvKFdly1bZsaPH2+GDh2a5OeXcfvtt3tDLyrwTGr+Auoh1adPn4YdUc9/9eLUZ/K7775rWB58oXWnnHKKN1dsixYtgqt4vZoIZHsNjctwxx13eNMQuPKvu+66Zt999zW6Vg0cONAbhnjUqFHedS18jfbLOOKII7zr17bbbusv4m8BBSZNmmSt7YADDjAaeppkTKE+X2ui9ZdffulNjRG174MHD/Z+++hBwPLycqOhqJ999lnve8+2naZXUG9kTZVCQgABBBBAAAEEEECgOQkQIG5OR4u2IoAAAgggsBoIPPjgg5E9h3WjLRxc1I03DSN9yy23eDfgnnzySauEeiTvvffeRsNWRyUFubJJrsBDNmUWelsFuaN6+95///1ekC/crl122cUce+yx5vnnnzdHHXVUeLX3/qKLLvKG/m7dmp+aVqBmtPC4444ze+65p7XFn3zyifn73/9uHZpcn8U//vGP5sADD7Ruy8LmLZDtNTTO3usBBJ1frqQgznPPPWfat2/fKIvOu3POOccb8tzVW1jDVWvuXK5RjegyeqPrvatHsK1AV4A4VY9ODWE/ffr0pCLDxz8pQzNckOnnSw+p6Xs9PORxv379mqFC7pus326u3y2qrW/fvubdd981G2+8caPKNSqGXDWSgWuYej0UtddeexmsG9HxBgEEEEAAAQQQQKCJC3DXrokfIJqHAAIIIIDA6iRQUVERecP/7bff9uZzc+1z27ZtzeOPP+7dgLv88sut2TRXpW4AKq8rZRPgXR3m2E0kEpE9aNSLS725XKlly5Ze8E8WChaHk3y/+uor86tf/Sq8iverkYB6+v/73//2epfbAkQaJpUA8Wp0wAO7ks01NFBM5EsFeV1Jw07fd999zgDveuut5z3EUlVVZTRccThp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u+9O60GIuG0kHwIIIIAAAgg0bwECxM37+NF6BBBAAAEEmpWAgjIaetOWdBN/yy23NOoJ6koa/u6mm24yhx56qCuLtz7VsGu2p/4VPBw5cqSzXH+Fq0edbmpFpeOOO866WjdwZsyYYV2neeJsaY899nDe3LXlDy/be++9nTdKZbDtttt6AdXwdsH3mhtT7cj1TetgHbbXGhLWNfffdddd5w3tF95OAT7bHKTKd+6554aze3OGJi38Ochs692im5mXXnqpbZOMlunhB9fQyBoy0hXodgUpMmpEE9vo4IMPtrZI87IOHz7cuk69223BWz0UEO5FHwwCBQtTwP7OO+8MLmp4rXkEzz///Ib3cV7o/NWQkbZku+Grm8wKDqaTXA/IXHbZZWb69OnWolwBV1fAI5trqLUBoYW6zl5wwQWhpb+81TUgKmiqIT7Vm/e22277ZaPAq912282bkzOwKK2X6nlrS65ewpp7WOeSLYWDlnp/6623Nvqn7z1XcFJldujQIano4PUgH2UmVdhEFmhI9JNOOsnamjPPPNMaBFTwXfPQ2lLwQYJ8Hvdg3fn+fKmufF9Tg/vTVF5fddVVzqY899xz5ne/+51z3nptqKGoXT2R9b0yePBgZ/n5WuF6oM02goCui5rOxZUKGThWb33XqEK6/rnSvffea/Q5Dv/T932hk+v7Xw9b6fMVvuZ/+OGH3igQ6bTTNb+0vhPmzJljLUq/H//4xz8mGWm6Av1uISGAAAIIIIAAAo0EKqtrEtn8+2HqtIT+kRBAAAEEEEAAgTgCixcvTvTs2TNhjHH+O/744xP3339/YsSIEYn58+cnPvroo8Qtt9yS2GeffZzbqLxDDjkkUV9fn7IZe+yxh7WcsrKyxA033JB45ZVXEi+88ELixRdfTCrrww8/tG6r+g866KDEo48+mnjttdcSDz30UGL69OmNth80aJB12759+ya+++67hrYvW7bMa4fLaNSoUY3KzeTN999/b21LsM5TTz018cgjjyRGjhyZWLJkSWL06NGJl19+OXHWWWel3FblHH300damPfHEE9btZRYnLVq0KKFjFWyr/3rw4MGJOXPmNBQza9asxGGHHWbNq/Nw5cqVDXmDL1zla/lzzz2XmDJlSmLs2LGJp556KrHuuutay/fb9NVXXwWL9l5re3+97a/Oia+//rrhnKisrEzceeedzm3uuuuupDrSWbDbbrtZy9ZnL1fpxBNPtNYxfvz4WFVcc8011u3l9/rrrydqamq8cqqrqxNvvvmmM++9995rre+MM85wbnPrrbc2OldmzJiR2GuvvZz51aZhw4ZZ6zn88MOd2914443eeaXzQ/vgOi7+OaN2hdOqVasS2223nbWO/v37Jz777LOEjJTKy8sTV1xxhTWv6tB1yZayuYbayrMt0zm/1VZbOdum9u24446Jiy++OPHGG28kdB699957idtvvz0xcOBA53b6DOv42ZLr2jR06NBG2aPOL10zFy5c6OVXPfpe8o+X7a+uH2rz8uXLvW30vWHLp32aOnVqo3bo+jVkyBBrfn0X+SkfZfplu65//vrwX52ztv175513wlkbvd9ll12s2/luwcy67tvq0DJ9/nTt9n8rKK++N2z5da7U1dU1FJ3P495QSSKRyPTz5fpe0TloS/m+prqu+fpNEZX0ubYdD12vsk2nnXaatWy/Pv0u0HeBvtvHjBmT+PzzzxMPPvhg4oADDojcTueGLcW9poS3veiii6z1hT8nF1xwgTWfrhe6Luo6qnP9yy+/jLwuav/l/swzzzRqSrrnVDrHPOpzeu655zZ8T6lBtbW1ifvuu8+6r2p7+Pd2uu32d/rtt9+21nHppZf6WRr9de2vfz7JVNcc/abzl7n+6v8hbOm8886zbqtzVf+fFEyTJk1y/m7QuU9CAAEEEEAAgdVXwI/TphvrNeluEM7vV7z60rJnCCCAAAIIIJBrAd1wc90gyXS5Ah8KPsdJp5xySqz6FZwJJ9eNdlu7hw8f3mhzBXZt+fxluhkdFdhQvrPPPrtRmdm8URDerzvbv7ZAVr4CxNrne+65J7LtunGW6oacHgRwpVQ3g9PxyiRA7JevcyJVkEz7WlVV5dqVWMttx09taEoBYgXDXMEo3yuVldbrRrMt6cECvxzXX20vb9f64HJXgNgVIAtuG/e1LUCsfdNxS1VGqs/HSSedZGPylmVzDXUWalmhQJ4+A6n2JZ31Cpq4Utxgzo8//pjTNqn9wQd/9H3m2icF+/SQjuuBI3+7yZMnN9rNfJSpClyfyUaVB964zv9w4CuwifcynQCxNrj22mudhjLSeeVqu2/45JNPNmpGvo+7X1mmn690g2L5vqa6gmfFDBBrn10P0PjHPd2/CuC5UtxrSnj7uAFiPcyYqr3pXEOVN5jSPafSPeZXXXVVZPsVYNXDWFH7cNRRRwWb7L1Ot91+AekGiKOC3K7j4vrudQWIox6KVB26jukB2lS/f/RgKAkBBBBAAAEEVl8BP04bjt+mes8Q0436U/MGAQQQQAABBAohsMsuu3jDOduGUcyk/n322ccbErlr166xNo+agzdVARtuuKE5/PDDU2WzrtfQstdee611nRZqOLrwcKPBzNttt525/PLLg4uyeq35gzVkcbZJHhpCtZDp5JNPNvvvv7+zSg1ZHjX8tYYgPeSQQ5zb33jjjc51rhWHHXaYa1XGy3VO2Ia1YD7HlAAAIABJREFUDhZ4xx13mLZt2wYXrZavNbxrqjmHo6x0vXn00UeNhqC1pfXXX985FLmfX+WH57TVcMXpJA2r6Zon1VVOuufWnnvuaTScZFSK+nxork4Nf+9K2VxDXWXalmtuXQ2t3LdvX9vqtJdpqPkDDzww7e3CG/To0SPyWh7Or/c6/4444gjbqqRlGu7WlV599VVv2PMPPvjAlcX7nGy88caN1uejzEYVNLE3GobcNeesmqprq224fn83tH14uPZ8H3e/7kJ9vvJ9TfX3pyn91T5raoIDDjggJ83S75Co33U5qSSiEH036DdwVAoPdax979+/f9QmBVunz1nUd6iu/zpe4X3wG6j9GDJkiP+24H832GAD7/9nbPPA2xqj7/5///vfRkOSx02acuHBBx90Ztd1TNNpRP3+0fe5pvkhIYAAAggggAACYQECxGER3iOAAAIIIIBAQQQ0z63mu417w9zVKN2Y+9e//mXiBodVztZbb53VnLGarzOdmzvBtiuQqnnI0g0QKbDxxRdfpLWfwXpdr0844QTvxlKmNwsVsH722WeN5lYtZFKQ78033zT33HNPWtXquGm+6Iceeihyuy222CKtYPwDDzzgnNMxsqLQSs2N65o/M5TVCzh9+umnkXNyh7dp7u/33XdfL/Cv+a/TSXqIYezYsUYPWUQlzVubzs1mBWE1Z3Q6SQGK++67L/YmJ554ornhhhti5/czDh061Lz00ktpX6v22msvoyBkaWmpX1TS32yvoUkFRizYdNNNzeeffx77c2ErSvv07bffGs3DnKukOZKjHjIJ1uMHBTRPepzvDn0/vvLKK8EiYr/WPKvhwKY2zkeZsRtVhIz6nGku0Kh5Z13N0sNTN998s3V1Po+7X2EhP1/5vqb6+9SU/uozOGzYMHP99dfH+jza2q7PtK6Tb731lmnTpo0tS0GWtWzZ0jz22GOxA76DBg0yTzzxhNG1qCkkHQsFgDMJsuv7/OOPPzbrrbdeUXfF//+ZVA9wKhj+9ddfm0022cQZ8HbtiOYiHjNmjNGDpukm/U4+/fTT092M/AgggAACCCCwhggQIF5DDjS7iQACCCCAQFMUUG+c559/3owaNcocc8wxsW/UqTeZbsQsXLjQ67laUlKS9u5dc8013o29uE/9BytQj4GpU6ca3ezJJClYMXr0aHPaaaelDBSrZ4huKCmwkcl+xmnf3nvv7d14uv/++yN7XAXLUsDtk08+8W6+t2rVynrsOnXqFNyk4XWu9kM3RmU4fvx4M3jwYGsb/ErVe0/n2KRJk2IHVBVYUDA/Knium626Qakeza79Tad3r/ZJwWsdi6ge9uo1pHMoqueNv+9x/rraHmfbuHlydRO9T58+3nG59dZbI4+N2qUbyHqA4YUXXjDrrLNOyqbqXNbnWrZRvQ8VHFDvewVhu3TpYi03an/Vg2vy5MmRvdh0nVOPZ50PrjpSnVs6TyZMmGCOPPLIyM+HdkDn0vvvv+/Z6tqcKmVzDU1Vdni9PgtyGDdunFEP7KjPRnBb3UxXkFy9bRV0S5XSuTbpIRUFcd955x3nuaLzRN9VOp8URFBgQA91HH/88SmPh4LP06dPT9kT3N8nBTUnTpwY+WBLPsrs2LGj34RYf13nrGu5X2jUAwt+nvBfHU/5f/XVVybOQyX6jtD3ia6/rpEG8n3c/X3I5PMVdc3xy7X9zec11VZfqmWZ7keqcoPrdRwvuugiM23aNO8hn7i/BfWZ1ggj+qwdfPDBwSJz+jrV5yFYmX6TKnioB4/UPlvSd6EeZHv33XeNeqT+/ve/N6+//nrkSCwqJ91jkW5+1aFjoYcn9RCkRhhKlfS7S4F59S7OdXA4k/arvTpe+s1YX19vZsyY4T14+eKLL3qjOeg34uLFi72Hz/TdtWjRIusupjrmm2++ufnyyy/NhRdemPL7Q4H3K664wsyePdv7nWytkIUIIIAAAggggIAxpoXGoM5GYs7s2d7mfTbqnU0xbIsAAggggAACCJi6ujovWKyeXgsWLPD+de7c2axcudILCOhG0K677pqz4UZ9cg1dp4Cv6teNG/U80s2VXr16OQMz/rbaRjdgZs6c6QVwKyoqvO27devm3ahz3WT2t9ffJUuWeIEPDS+t8nSzTzeCNtpoI6OAYaHT3LlzveCv9mvevHmmXbt23jGQh9q20047mTgBpEK3W/WpzXKcMmWKV32/fv08y2xvIspBwWUF9ZR0E1Y31cPDuHorY/xHw/vatlUAx+85WFtb6/WA0w3sOXPmeOejbvIqYB3nvIrRjNUiS2VlpXds1ENYnyXd/FYPcDllerPXhykvL/c+mypbnwud//pc6jqUTjDRL8/2d/ny5d55pYCD6uvevbt3rHUNUMA6l0n7oICxAq267mlf/H+6ZmWasrmGZlJnIpHwAnl6uEjXbD0spEClRjJQj2MFYhVgz9UxitPGVatWed8Ds2bN8r4DNGS5/kVdw/UZ1zFX0neO63Ot70CdHzp2ugbpnNd5rmOnaQ+0v+mMoqH68lFmHKdi5tH3q4I3CgLrn46NruNy1F8dg3RTPo+735ZCf77yeU3196kp/tXvBz1MoO97XVP0UEJVVZX3XaLvE33OOnTo0BSb3qhN+h2qh0v0O1rXBX1vrb322o3yhN9om+rqam9xuteScFnZvtf3lIK//nHQb1D9/tTvTv93aLZ1FHP7b775xjqayaWXXmr0YEicpOvOiBEjvP930bnq/3bQb1M56XqWyUM1ceomDwIIIIAAAgg0TYGp06Z7Deu+wQZpNZAAcVpcZEYAAQQQQAABBBBAIHuBOAHi7GuhBAQQQAABBBBAAIFcC/ztb38ztrndNe3NDjvs4KzuzDPPNJoTOJw0GoWGfCchgAACCCCAAAKZCGQaIC58l5RM9o5tEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBIgto2oD58+cn/TvppJOMRoewpeHDh1uDw8q788472zZhGQIIIIAAAgggkFeB1nktncIRQAABBBBAAAEEEEAAAQQQQAABBBBAAIHVRGD//fe37sl3333nzaV88skne8PXayh7DfmtHsIvv/yydZvDDz/caEodEgIIIIAAAgggUGgBAsSFFqc+BBBAAAEEEEAAAQQQQAABBBBAAAEEEGiWAuutt5459dRTzX333ZfU/pEjR5rTTjstabltgeYNvv/++22rWIYAAggggAACCORdgCGm805MBQgggAACCCCAAAIIIIAAAggggAACCCCwuggMHTrUHHXUURnv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06eP+4M3fuyGtTNEZfxIjh/QYe1lCoMQARBizadtSOQRwqxXNAVH7HuaiACW11xzjbvHLazeIGo99thjbvGmEObetDw555xz3JR//vOf5aOPPnIscGHFB8u66667zh3DU045pc6etOeee66bH2P19NNPO3vywooOQuKf/vQnXyHEzbTrRMcWlxBIkBfzBPMV7TKtpb15cX3yySe7t8EHojRcfkM0wVyC+3N1oYvnQxcbaCZzH13UBb4QmSCaq0Xyvvvuq8mdNmFsIIBDeEK622+/3Y3fe++93fOmcmLTR1iFn3HGGW6Tr776aseKHaIX+gmr4htuuMGNx76sYRcn2LTDrSCOE1O0fPPNN+WRRx4RdaUO184QC/HOQcAzO3r0aOva4plvcC2soro+I0uWLBFYf0J8fPXVV2s93zb7J1s3PCAhxv300093Y3Xc8RxjgcbixYvFFIWPPfZYNy1O4uGB/PHOCYj25513ntumW2+9VT788ENH6IaVOLwH4BuoC6GOPPJIN625mAPC+N/+9jfn2cc38j//+Y/8/ve/d9PiBAIsxsi07sV908L3wQcflHfeecdxXa3uq9HGs88+2y0L7zksBFCvCVo33nkI2KPY3AMcC2nwvdaA7y2exWeffdaZL1jogO+omUfT6rEhnm+tS4/1/Y3UengkARIgARIgARIgARIgARIggaZKgHsQN9WRYbtIIIEEtk6rbeW7fdN6wd/WaZMTWEv0ojqfeS73Ho6OiSl2ESiZb+9iOrs/LYib08S54oorZMCAAYIfqhGwfy/+ggLcX/72t78N7coU7nrxYzwCftjWH7e1HlgsQeC46qqrnFv40X7EiBFywAEHSEpKivzhD39w8+PHePz5hd/97nfuXp2x5vMrNxH30EfTwgz7EtuK7JHqV8tkjBuEWr8AUSCSIOCXx7yHvUYhCKpQBnHEL+y3337OOHrjIK5gfF966SUnCkc917RwWY6FBLBIDQoQqrWPs2fPFoy3GZAfFn9Bbo/btGnjCOl33XWXkw0CDv68AUwhFHkDLOdRh1rfQTxUa8M777xTUD5EJbimxhyHlaJXONIyYZl90kkn6WWTOdr0EY098cQTnXcFBHJYMN54442+fcC8wbMcNti2I2y53vS5ubly8803yz333OMIgxCJ8ecXbrrpplBWuvHON7yfsXgClvsQEK+88kq/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JEACJEACJEACJBA7AQrEsbNjThIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARJoVgQoEDer4WJjSYAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESCB2AhSIY2fHnCRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiTQrAhQIG5Ww8XGkgAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkEDsBCgQx86OOUmABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEigWRGgQNyshouNJQESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIIHYCVAgjp0dc5IACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZAACZBAsyJAgbhZDRcbSwIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAKxE6BAHDs75iQBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiCBZkWAAnGzGi42lgRIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARiJ0CBOHZ2zEkCJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACzYoABeJmNVxsLAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAnEToACcezsmJMESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAEmhWBFs2qtWwsCZAACZAACZDAbkVg06ZNsmLFCsnOzpY+ffrsVn1jZ0iABEiABEiABEiABEiABEiABEiABEiABEiABEigKRKgBXFTHBW2iQRIgARIgAT2EAIQiKdOnSpz587dQ3rMbpIACZAACZAACZAACZAACZAACZAACZAACZAACZBA4xKgBXHj8mftJEACJEACJLDHEti+fbuUlJQ4/cf5tm3bJCMjIxSPiooKwR9Cbm6udd7S0lKBON2iRQtp166dpKWlWeeNlrCmpkYKCwtly5YtkpOTI23atJGUlJRo2Xzjq6qqZPPmzQ4nlNOqVStJSkry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LrggCxanC82fPz+cf/75pUn1VEwqLewTBRRQQAEFFFBAAQUUUEABBeoUsAVxnVAupoACCiiggAITL8CYi4zNW61b4Infa2NbXGeddbLWxkWtvBrbkku3U4AWpIztTIs+umA1KTDTBeje//bbb8+6304tisZiT+f7fHwCjDl86623Zl2ez5s3L/BHjxb0bkFFFno7iIlxhhlL2KSAAgoooIACCiiggAIKKKDARAsYIJ5oUbengAIKKKCAAnULEBieiK6Y695hEwsSGJ4zZ04Ta7rKVBIgMOz7OJXeEfPSbgHGJWds5jRtt912gaCkafIEaEFMxajzzjsvG2OePdGiOE0Mu7DllluGzTffPJ3scwUUUEABBRRQQAEFFFBAAQUmTMAA8YRRuiEFFFBAAQUUUEABBRRQoDMEGIt79uzZWat6xpNmrFu6lzZNvgAthg866KDwyCOPZF1NP/3002F4eDgbN5weDlZcccUwEWMvT/6RuAcFFFBAAQUUUEABBRRQQIFOFTBA3KnvnPlWQAEFFFBAAQUUUEABBZoUWG211QJ/pvYJ0JqYP5MCCiiggAIKKKCAAgoooIACrRbobvUO3Z8CCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiigQHsEDBC3x929KqCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAi0XMEDccnJ3qIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCrRHwABxe9zdqwIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKNByAQPELSd3hwoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooEB7BAwQt8fdvSqggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAItFzBA3HJyd6iAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgq0R8AAcXvc3asCCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCijQcgEDxC0nd4cKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKBAewQMELfH3b0qoIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACLRcwQNxycneogAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKtEfAAHF73N2rAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoo0HIBA8QtJ3eHCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiigQHsEDBC3x929KqCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAi0XMEDccnJ3qIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCrRHwABxe9zdqwIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKNByAQPELSd3hwoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooEB7BAwQt8fdvSqggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAItFzBA3HJyd6iAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgq0R8AAcXvc3asCCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCijQcgEDxC0nd4cKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKBAewQMELfH3b0qoIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACLRcwQNxycneogAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKtEfAAHF73N2rAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoo0HIBA8QtJ3eHCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiigQHsEDBC3x929KqCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAi0XMEDccnJ3qIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCrRHwABxe9zdqwIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKNByAQPELSd3hwoooIACCiiggAIKKKCAAgoooIACCiiggBrdsm0AACAASURBVAIKKKCAAgoooEB7BAwQt8fdvSqggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAItFzBA3HJyd6iAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgq0R8AAcXvc3asCCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCijQcgEDxC0nd4cKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKBAewQMELfH3b0qoIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACLRcwQNxycneogAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKtEfAAHF73N2rAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoo0HIBA8QtJ3eHCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiigQHsEDBC3x929KqCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAi0XMEDccnJ3qIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCrRHwABxe9zdqwIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKNByAQPELSd3hwoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooEB7BAwQt8fdvSqggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAItFzBA3HJyd6iAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgq0R8AAcXvc3asCCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCijQcgEDxC0nd4cKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKBAewQMELfH3b0qoIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACLRcwQNxycneogAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKtEfAAHF73N2rAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoo0HIBA8QtJ3eHCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiigQHsEDBC3x929KqCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAi0XMEDccnJ3qIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCrRHwABxe9zdqwIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKNByAQPELSd3hwoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooEB7BAwQt8fdvSqggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAItFzBA3HJyd6iAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgq0R8AAcXvc3asCCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCijQcgEDxC0nd4cKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKBAewQMELfH3b0qoIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACLRcwQNxycneogAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKtEegd6J2O+/OuyZqU25HAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUGASBGxBPAmoblIBBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRSYigIT1oJ47bXWnIrHZ54UUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBgGggccu7CaXAUHoICCigwcQLHrHtfUxuzBXFTbK6kgAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKdJ6AAeLOe8/MsQIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKNCUgAHipthcSQEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFOg8AQPEnfeemWMFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFCgKQEDxE2xuZICCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCijQeQIGiDvvPTPHCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiigQFMCBoibYnMlBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQoPMEDBB33ntmjhVQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQIGmBAwQN8XmSgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooEDnCRgg7rz3zBwroIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACTQkYIG6KzZUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUECBzhMwQNx575k5VkABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBZoSMEDcFJsrKaCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAp0nYIC4894zc6yAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgo0JWCAuCk2V1JAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQU6T8AAcee9Z+ZYAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUaErAAHFTbK6kgAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKdJ6AAeLOe8/MsQIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKNCUgAHipthcSQEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFOg8AQPEnfeemWMFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFCgKQEDxE2xuZICCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCijQeQIGiDvvPTPHCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiigQFMCBoibYnMlBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQoPMEDBB33ntmjhVQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQIGmBAwQN8XmSgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooEDnCRgg7rz3zBwroIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACTQkYIG6KzZUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUECBzhMwQNx575k5VkABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBZoSMEDcFJsrKaCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAp0nYIC4894zc6yAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgo0JdDb1FquVBJ47rnnwmKLLVZ67RMFFFBAgfoF/v73v4f58+dnK7z61a8OfX199a/skgoooEAbBe5+ajjc8thwloNNlu0Kq87uaktu7npyONz6+Eg+tlqhK6yweHvy0ZaDr7DTax4eCg89MzJzlzndYfGeCgs6uS6B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BRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUMEHsOKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAjNEoOuZ5xYOj+dY77v33vGs7roKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAk0KzFl11YbWtAVxQ1wurIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCnSuwF1ZaMAAACAASURBVLhbEHfuoZtzBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQYGYJ2IJ4Zr3fHq0CCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCsxgAQPEM/jN99AVUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUGBmCRggnlnvt0ergAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIzWMAA8Qx+8z10BRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRSYWQIGiGfW++3RKqCAAgoooIACCiiggAIKKKCAAgoooIAC/5+9+4CX5qrvgz8SjyQkPeoF9d67hBpCDSMhEAgZNxwbm7jEwYmT2DE2r1/bL0nsuMe9xbEdjAN26B2BhEAVhFBDvTfUAfX+SHo/v4GzPnfu7r1799Z99ns+n3t3dnbKme/szpw5/zlnCBAgQIAAAQITLCBAPME736YTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBZAgLEk7W/bS0BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAhMsIEA8wTvfphMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMFkCAsSTtb9tLQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECEywgQDzBO9+mEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwWQICxJO1v20tAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQITLCBAPME736YTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBZAgLEk7W/bS0BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAhMsIEA8wTvfphMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMFkCAsSTtb9tLQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECEywgQDzBO9+mEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwWQICxJO1v20tAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQITLCBAPME736YTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBZAgLEk7W/bS0BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAhMsIEA8wTvfphMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMFkCAsSTtb9tLQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECEywgQDzBO9+mEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwWQICxJO1v20tAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQITLCBAPME736YTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBZAgLEk7W/bS0BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAhMsIEA8wTvfphMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMFkCAsSTtb9tLQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECEywgQDzBO9+mEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwWQICxJO1v20tAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQITLCBAPME736YTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBZAgLEk7W/bS0BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAhMsIEA8wTvfphMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMFkCAsSTtb9tLQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECEywgQDzBO9+mEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwWQICxJO1v20tAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQITLCBAPME736YTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBZAgLEk7W/bS0BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAhMsIEA8wTvfphMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMFkCAsSTtb9tLQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECEywgQDzBO9+mEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwWQICxJO1v20tAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQITLCBAPME736YTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBZAgLEk7W/bS0BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAhMsIEA8wTvfphMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMFkCAsSTtb9tLQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECEyywaqG3fc3zzzdPP/108+yzzzRr1rzQvPTSSwu9CssjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDARAiss846zapVL2s22ODlzYYbbtisWm+9eW33Ok8/+9yCRXAff+yx5oknnphXhsxMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAv0FVq9e3Wyy6ab9Pxxi7IK1IH7k299unn7mmXaVm2yyutlow42a9dZb1SSiLREgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA3AXSY/Pzz69pnnr6qebxx59oG+y+sGZNs/mWW859YU3TLEgL4tJyOMHgbbfZpll//fk1ax5pS8xEgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBtVjgueeebx586KH2Mb+jtiRed74+eeZw6VZacHi+muYnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAf4E01E1MNikx2sRq55rmHSB++umn23WmW2kth+fKb3oCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgML5CYbGKzSSVWO/zcTTPvAPGzz37nucN55rBEgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAosrUGKzJVY7l7XNO0C8Zs0L7frWW2/VXNZrWgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAYQaDEZkusdi6LmHeA+KWXXmrXt84668xlvaYlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgREESmy2xGrnsoh5B4jnsjLTEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMDyCQgQL5+9NRMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGBJBQSIl5TbyggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILB8AgLEy2dvzQQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFhSAQHiJeW2MgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCyfgADx8tlbMwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJZUQIB4SbmtjAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAssnIEC8fPbWTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgSUVECBeUm4rI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwPIJCBAvn701EyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYEkFBIiXlNvKCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsHwCAsTLZ2/NBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWFIBAeIl5bYyAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILJ+AAPHy2VszAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEllRAgHhJua2MAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECyycgQLx89tZMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBJRUQIF5SbisjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA8gkIEC+fvTUTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgSQUEiJeU28oIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCwfAICxMtnb80ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYUgEB4iXltjICBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgsn4AA8fLZWzMBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSWVECAeEm5rYwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLLJyBAvHz21kyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIElFVi1pGuzMgIECKzFAvfff3/zxBNP9LZwu+22a1avXt17b4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsNwCAsRN01xyySXNww8/3NsXq1atak4++eQmrzOl6667rrnrrrt6k2yxxRbNMccc03tvgACByRK44oormnvuuae30aeccsqKDhC/+OKLzQUXXNDLbwaOPfbYZoMNNpgybqnf3HHHHc2dd97ZW+3222/f7LPPPr33BggQIECAAAECBAgQIECAAAECBAgQIECAAIHRBWaOgI6+3LGac8cdd2yuvvrqKXm+9tprm0MPPXTKuPpNWglefPHF9ahm7733nvLeGwIECKxkgZdeeqm5+eabp2TxyCOPXPYA8be//e0p+crNOgLEU3aTNwQIECBAgAABAgQIECBAgAABAgQIECBAYGQBAeKmaXbaaadml112mdIa+NJLL20DEhtuuGFf3Hxep3Qlu+eee9ajDI+hwO233948+eSTbc6z7+3TpduJTz31VHPbbbf1Vrjrrrs2m2yySe+9AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgfkLCBB/1zDdqtbdRWf05Zdf3rz61a+epvzAAw80t95665Txxx133JT33oynwNe//vXmoYceajO/7bbbChAv4W5Mq9GvfOUrvTWmy3YB4h6HAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAgggIEH+XcdNNN20OP/zwJs8QLen6669vDjjggCaBqpLSJWsdxMr4Aw88sNlyyy3LJF7HWOD5558f49yPd9ZfeOGF8d6AMcz9uuuu23zv935vL+d5v/HGG/feL9fAfvvt1/bqUNa/evXqMuiVAAECBAgQIECAAAECBAgQIECAAAECBAgQmKeAAHEFmGcOJyj8zDPP9MZ+9atfbU477bTe+3SBW1qYZuR6663XHHHEEb3PDYyvwIsvvtjrXnp8t2J8c/7444+Pb+bHNOfrrLNOs/XWW6+43G+00UZN/iQCBAgQIECAAAECBAgQIECAAAECBAgQIEBg4QUEiCvTVatWtV1Kf+ELX+iNvfvuu5t77rmn2XHHHZs1a9Y0X/7yl3ufZSBdU2+wwQZTxuVNgo2PPPJI8/DDDzfpOvdlL3tZ2xI5rZE322yzJoGZfilB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/fL833QtnfVmfQka59m8wwTMkpcXX3yx/c6lK+MEsvJs3Wz3sPnOduc7V+bPujP/MGYLaVG++8lPtiMW2QfDprQeznbkO5DhOOYv2zJbKute6N9djgXpajn7JEH/YffJbPldqs/nY5rnYmf7Y5p9mv2Qv9wwsxApy5zPsXYh8mAZBAgQIECAAAECBAgQIECAAAECBAgQIEBgqQXu/sY97Sq3rx6rOUweBIiHUTINAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEVpDAqAFiXUyvoJ0oKwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFhMAQHixdS1bAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECKwgAQHiFbQzZIUAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKLKSBAvJi6lk2AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEVJCBAvIJ2hqwQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgMQUEiBdT17IJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCwggQEiFfQzpAVAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILKaAAPFi6lo2AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEVpCAAPEK2hmyQoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcUUECBeTF3LJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwAoSECBeQTtDVggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILCYAgLEi6lr2QQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFhBAgLEK2hnyAoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQWU0CAeDF1LZsAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIrSECAeAXtDFkhQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAYgoIEC+mrmUTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgBQkIEK+gnSErBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWEwBAeLF1LVsAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIrCABAeIVtDNkhQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAospIEC8mLqWTYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgRUkIEC8gnaGrBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGAxBQSIF1PXsgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILCCBASIV9DOkBUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgspoAA8WLqWjYBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRWkIAA8QraGbJCgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxRQQIF5MXcsmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAChIQIF5BO0NWCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsJgCAsSLqWvZBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWEECAsQraGfICgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBZTQIB4MXUtmwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAitIQIB4Be0MWSFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBiCggQL6auZRMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGAFCQgQr6CdISsECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYTAEB4sXUtWwCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAisIAEB4hW0M2SFAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECiykgQLyYupZNgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBFSSwaiHyst566zWPPfbYQizKMggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgFoHEaJ9//vlZppr+8bwDxFnxRhu+fPqSjSFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBRRFIjPapEZY87wBxotKPPv98s/tuu46werMQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwFwFbr/jzrnO0k7vGcQjsZmJAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC4ycgQDx++0yOCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMJKAAPFIbGYiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA+AkIEI/fPpNjAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIjCQgQDwSm5kIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwfgICxOO3z+SYAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECIwkIEI/EZiYCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiMn4AA8fjtMzkmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDASAICxCOxmYkAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLjJyBAPH77TI4JECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwkoAA8UhsZiJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMD4CQgQj98+k2MCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiMJCBAPBKbmQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDB+AgLE47fP5JgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIjCQgQj8RmJgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECIyfgADx+O0zOSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBIAgLEI7GZiQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAuMnIEA8fvtMjgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDCSgADxSGxmIkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwPgJCBCP3z6TYwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECIwkIEA8EpuZCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMH4CAsTjt8/kmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAiMJCBCPxGYmAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIjJ+AAPH47TM5JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwEgCAsQjsZmJAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC4ycgQDx++0yOCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMJKAAPFIbGYiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA+AkIEI/fPpNjAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIjCQgQDwSm5kIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwfgICxOO3z+SYAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECIwkIEI/EZiYCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiMn4AA8fjtMzkmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDASAICxCOxmYkAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLjJyBAPH77TI4JECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwkoAA8UhsZiJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMD4CQgQj98+k2MCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiMJCBAPBKbmQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDB+AgLE47fP5JgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIjCQgQj8RmJgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECIyfgADx+O0zOSZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBIAgLEI7GZiQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAuMnIEA8fvtMjgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDCSgADxSGxmIkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwPgJCBCP3z6TYwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECIwkIEA8EpuZCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMH4CAsTjt8/kmAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAiMJCBCPxGYmAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIjJ+AAPH47TM5JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwEgCAsQjsZmJAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC4ycgQDx++0yOCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMJKAAPFIbGYiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA+AkIEI/fPpNjAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIjCSwaqS5zESAAAECBAgQIDAWAi+++GKTv1WrlrbYd/fddzePP/54z2innXZqNt100957A0sv8I1vfKN57LHHeiveeeedm0022aT33gABAgQIECBAgAABAgQIECCw9gk8//zzbb3QOuuss/ZtnC0aWWBpawpHzubSzHjhhRc2jzzyyJSVHX300c222247ZVz3zWc+85m24jXjX/7ylzennHJKdxLvCRAgQIAAAQJLIvDss882V111VfOtb32reeqpp5oXXnihXW8uAlJO2WKLLZrDDjusWb169aLm58orr2yefvrp3joSoF7JAeIE0b/whS/08puB448/vtlwww2njBvnN5dddlmT70dJ+T4IEBcNrwQIrFSBc845p3nmmWd62dtjjz2aAw44oPe+O3Ddddc1t912W290jnMnnXRS7313IHUAqQsoabPNNmtOOOGE8nbk16985StTbpRKnnfccceRlzffGSfhPDdfI/OPt0C/Or1htmifffZp8ieNJnDTTTc1d955Z2/m7bbbrjn44IN779e2AcfStW2P2h4Ca69AbtrPMfqJJ55onnvuueall15qNzZ1MxtvvHGTMvXee++99gLYsqEEBIgrpocffnhKRWY++vKXv9yceeaZ1VTTB/MjK6muCC3jvBIgQIAAAQIElkIgQdmbb765V/Cv15mLgZRT8nfvvfc2u+yyS3PsscfWk0z0cHxSFqxT7rBdmwLE9bYZJkCAwLgI5PicG55KSvB3pgDxrbfeOuW6PvPmeL7eeuuVRUx5TeVZvfxUmC1EeuCBB6bclJMeHJYzQOw8txB71TJWskC/Or1h8vvNb35TgHgYqAHT5KbUugz9spe9bMCUa8dox9K1Yz/aCgJrs0COyYlp1TGrenvXrFnTPProo80VV1zR5MbK4447rtlmm23qSQxPkIAA8Sw7O60srr322ubAAw+cZUofEyBAgAABAgSWT+DrX/96e3fosDm46667mg022KA5/PDDh53FdE3TBtcTYC/piCOOaNZdd93ydsprpht22ikzekOAAAECPYEEVevgQ+kdo18QIoHgfjdtp4v93XffvbfMeuC+++6r3zZ5JMJSpYU6T9x444291soJcO+///5LtQnWQ4DAWiqQR8Xk2FLSXnvt1Wy++ebl7Vr56li6Vu5WG0VgogTSUvjcc8/t9SQ328Yn9nXeeec1Z5xxRls/NNv0Pl/7BASIh9inuZMiBaFUokoECBAgQIAAgZUmkJYPN9xww5RspUvplF/yqIx0M33PPfc0aSVVp7Q23nXXXZstt9yyHm34uwL9ns2Tlmt10PfQQw8dGCCey7TQCRAgQKC/QHq8uOaaa6Z8mONwnqPeTQkE90s5/w0KEKcFRZ36Lbf+fCGHF+o8cf3117ddByZv66+//tAB4n7nuYXcPssisJwCuYlkmMebbLXVVsuZzRW77lxf5BhVUpzW9gCxY2nZ214JEBhXgQR7y2PGyjbkXJhHKaR3tPRoUx/rMk26zs9jGl772teWWbxOkIAA8RA7O92HXHLJJc2JJ544xNQmIUCAAAECBAgsrUACvXVKhe9pp502pVIsFexphZVnItYpLYkFiJs2yFuX9dIquN/zebsXW7Vld3gu03bn9Z4AAQIEviOwevXqJs9KS3d4JeWmp36B3EEB4oceeqjMOuU1XaPmer+kBFfzfPaFSHmOfVo0l7T11luXwd7rQp0nUrE3W8p5bZjz3GzL8TmBcRFI2feoo44al+yuuHzWx6+ZMnfQQQdNuQFnmKD8TMtbzs8cS5dT37oJEJivQMrKda87Wd7222/fnHDCCb1F532eO/zpT396Sq873/72t3vTGJgsAQHiIff3/fff3+SiUn/sQ4KZjAABAgQIEFgygW5hPnf496ucSUVZuqKun7U4qNJ8yTK/QlaUoPp22203a26efPLJWacpE8xl2jKPVwIECBCYLpDr8Lor6AcffHD6RE3TXrP3+yCB2LSY6J4buwHlV7ziFf1mH2ncMK0SF+I8kW0bJtA87HlupI01EwECa51AjpnDpNxQ2e+mymHmXUnTOJaupL0hLwQIjCLQr27nsMMOm7ao3DSYR2VddNFFvc/K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MB8BAgQIECAwN4EddthhWoD4kksumdaqoSy129Iq4+vWVt3Acipruq0XEpCea3klz7k58sgjSzZ6r3m+Y536PWut/nylDT/00EN9nw/XL5/9pp1v+atbGZn9khYv3W5Y4z/XfdZvG4wjQIDAcguk0ql+pnCdnzpYU49PMKJ7M1X5vF/30st1Hd/vPFHyOexrruFzQ9AGG2ww7CxLPt18z31LnmErnDiBtBCub4bMDXm5+a6uC8uzDc8888xeZXf3e53K8NSrdevLcgNKymol5fiUmzuz/G4PCbfeeuu0+ROYzrGipPrmym45PtOk3rHOQwIG3WNcWdZMr9mWfffdd6ZJ+n6WG1Hres9bbrllWoA4AfduOTW9Li5ncixdTn3rJkBgrgIJ7tY3RGb+nG/yLOHuTeX5LGXF+lyScfW5ontOy/kvNyh1zzOpX6pv8Cmtdrs3+eQYn554u7GxnBPqlPNgHaiuP5tpuN85NMs+9NBDp8yW8196CiopvXgcdthh5e1EvnoG8Qi7/cADDxz6Yqv7o6kr5/ID7XbxmOzcc8897Q9uhKzNa5b8QOu7OFIZfPHFF08ppOVCPD+iFGbL37xWamYCBAgQIEBgXgJ5BEa3tWgqWc4777ymbh2QC4C0hLj55punrC83v9XdvHUvHlKQz+MwSkql1BVXXFHeDv2aSrKUe+rKn+SnrjDKwkapeBo6EwswYV1WyuJy41xMcrFUXxjls2GmnW/5KwH1bmu57K9636f1Sd296gIwWAQBAgSWTaC+qambiX7B3kzTvWmmni83WnXTUl3HD3Oe6Oat+z6tP7op59eHH364rfzL+Wmlpfme+1ba9sjPyhRI+ef666+f9a/76LiU6/JXp7TAevWrXz2lzJ2ybW7KLCkV81tuuWV5274miFz34JJHq2SeUp+W1zronNZOdUre6h4NUr677LLL6knaR+GVETl2da8LUgYsx4G0FPvCF75QJp/xtXR9XSZKfWButEnZvfuImDJNv9f99ttvyuhcp2S7Syom5X1e8yi77vrrzxdj2LF0MVQtkwCBpRTo3iiZupezzz67uf3229ub/pOXjMs57qyzzuqNK3ncddddy2AbyO2WU88555wp81x99dXT6kBKHnKjYvexpKlHqlss57zSPQfnkWijpu45NK2b695yE+vKebk+B6dHvklPWhCP8A1IYeuY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ghaifmlQfjM+58E8hzjn0Gx7zoU5h62N6fY77mw3a/sddpjT5gkQz4nLxAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFh+gVEDxLqYXv59JwcECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYEgEB4iVhthICBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgsv4AA8fLvAzkgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAkggIEC8Js5UQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBg+QUEiJd/H8gBAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIElkRAgHhJmK2EAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECyy8gQLz8+0AOCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsCQCAsRLwmwlBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWH4BAeLl3wdyQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgSURECBeEmYrIUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwPILCBAv/z6QAwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECCyJgADxkjBbCQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJZfQIB4+feBHBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGBJBASIl4TZSggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILD8AgLEy78P5IAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJLIrBqSdYyJiu59bbbmuuvu6HN7VFHHdm84hXbLnjOv3rp15oHH3iwXe7rX/+6ZtUqu6BGfuSRR5sLL7yoHbX7Hrs3Bx6wf/3xgg5feunXmge+uy9e+9rXNBtuuOGCLn9SF/bSSy81n/v82c2a59c0m262aXPiCcdPKoXtJkCAAAECBAgQIECAAIHvCtx22+3Ndddd37479NBDmp133okNAQIEWoFHH320ueCC79QH7rTzTs1hhx5ChgABAgQIEFhkAdHJCvjznz+n+fgnPtWO+dVfedeiBIj/5m/+rvnGPfe06zj55BOb1atX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lNaseaF58skn2o832WSTZt11123SIvPqa65pvvGNe5pXbLttk0LvRn26mLzxxpua226/o3n22WebHXfYvtl///3afA9a16jjn3nmmXabbr7l1ublL9+g2WOPPZp99v7OhXoOLi+99GKb7+R/mPTEE080l112RfPoY481e+6xe7u80pXmTPPH9r777m9uuOHG5plnn2mOOvLIZptttp5plvZZVY88+mjz13/zt73pnl+zpnn00Ud774fdt70ZqoFsSyor1ltvvd4+isktt9zSjutX0ZHZ85277rrrmzyzYL/99m322H33JgfU2dJdd93d3HnXXe38W2y+ebN99vt++7b+/eYt+XvZqlXN6o037jdJ+/3JPk7adNNNm3XWWafvdN2Rzz33XHPttdc3l1zy1d5Hjz/+RM82J4b8jkZJ6Vbu+htubO8s2nrrrZqddtyx2WuvPWdd1LA+cX9hzZpmnXXWbXL306CU31ax2Xjj1UPto0HLMp4AAQLDCtRlg5z/c46pU8oJzz33bDtqs802qz/qDefclHNA0kznuZR9Upn2jXvubdZff71mh+13aPbbb5++LbSeeuqp5jOf/Vzz5JNP9tZTn0/XX3+DXtfYvQkGDOTYmmNszjk59yTlAuDa665rHnjgwWbLLbZodt1tl2bPPfYYsISpo2OSc+8tt97WpMujfffZp9luu1dMnei774bxq/dBLkgGtVirl1XKcX1XaiQBAgQI9ARynL/66mt670899bW94e7AG9/4+uaP/+Q73dB98EMfaX74rT/YnWSo93M533UX+OKLLza333FHc/11NzQvf/nL2+u3HXfcYejrplGvbZKPuZzfSr4X+hz78COPtNfguYY95JCDhj43l/zMx74sw+tkCaTuJ88zTEq9wk477TgQYMcdd+x1bfnAgw82aVk817RmzZq2zistm1J/tO222zS77LJzk5ZRw6RR63ey7Bxf7rjjzibPY8zw9ttv3+yz994z1lOUPKW8n3lTn5m6xMyXrrhLJX2Zrn6ty7il7JpjRo7JuR7IMW6nHXdoDjhg/xmXU5aZY9TNN9/clsF332239mafYeq2yvypm7n9ttubu+6+u3nuueeb7bffrtl7rz2brbbaqkzilQABAitGYDnKsAnQli6cX3nE4c2JJ57QewzLXGDq5xf/1E++vRmmMd25536p15tH6s8P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b9q0iSk4rGa0/fTvfx1txxx9lD9qlRu+5tob7Psffsxquzt36mgP3H9PVvMyEwIIIIAAAtkInHHWuUHTmv68ujd58YX/rFaF1Pz9ZxgBBBBAAAEEEEAAAQQQQAABBBBAAIHVSYAaxJV8tOvXr28P3n+vbbzxRuGa1Nfp1GnTkoLD22y9ld13z12rbHBYO6f9UjPZ2fypn1qXDth/P+t9/jlh3yFafubMWUnBYT24PvOMU+3ofx7pFltlX+fMmZOVkRwWLFi4yu4nG44AAgggsGoIqO+uG66/huDwqnG42EoEEEAAAQQQQAABBBBAAAEEEEAAAQRWmgA1iHOgnzZtun373Xc2ZcpUU4C0adOm1r59O1uvWzdr165tDjlWr0W++fa7YL+y2aqOHTrYWmutmTSrOlr/4YcfbeSo0TZ79mwrKCi0tm3bWMcO7a179+5Wq1ZR0vyr6puhQ4fZlKlTs9r8Rg0bxvZbndXCzIQAAggggECMwMeffGZDhw61oqJa1rlzR+vVs6epFRMSAggggAACCCCAAAIIIIAAAggggAACCKweArnWICZAvHp8PthLBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBCoQQK5BogLa5ABu4IAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggkEGAAHEGHCYhgAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACNUmAAHFNOprsCwIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIJBBgABxBhwmIYAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAjVJgABxTTqa7AsCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCQQYAAcQYcJiGAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAI1SYAAcU06muwLAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggkEGAAHEGHCYhgAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACNUmAAHFNOprsCwIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIJBBgABxBhwmIYAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAjVJgABxTTqa7AsCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCQQYAAcQYcJiGAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAI1SYAAcU06muwLAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggkEGAAHEGHCYhgAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACNUmAAHFNOprsCwIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIJBBgABxBhwmIYAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAjVJgABxTTqa7AsCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCQQYAAcQYcJiGAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAI1SYAAcU06muwLAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggkEGAAHEGHCYhgAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACNUmAAHFNOprsCwIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIJBBgABxBhwmIYAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAjVJgABxTTqa7AsCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCQQYAAcQYcJiGAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAI1SYAAcU06muwLAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggkEGgVoZpq9Wky1/aZ7XaX3YWAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgdVZ4MbD31ktd58XHyOUAAAgAElEQVQAceSwF1hBZAxvEUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEECgpgiUWElN2ZWc9oMAcYRtdf9ARDh4iwACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACNUiAPohr0MFkVxBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIFMAgSIM+kwDQEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEKhBAgSIa9DBZFcQQAABBBBA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dRuX2MZHLE2pSexIXKDXvderag532rbY1uicGtitXd9MgWO/yWjloWBmNDisda+9uxeZ9leykoZrrwh4K7Ct2rnR4LAC4p22Td3vsja3xTrLrdUGycspMDxnXEFKcFg1sdfaLdWl/Rap4+LWWxHrisuXcQgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAghUlgA1iCtLNibfWvXM1tlzmc0cUWiTfi60xXOTa7O6RRT0VU3VjlsXm5ZJlxQ43viI5Tb681o2b2JqXoVFZq02XG4KePqBZJdf3Dg3zb1G5ylIXU0wa3Q+t3y61/ZbLLcl882m/lFkChL7SfveZcdiK8zx0+mC6qO/LLKlC1I3WNuqIHLb7vG+jdqWWNeexTZuUOq2+dup4XzXFc2P9wgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAghUpkDBosVLktvXLefaJk2cGCyxZtcu5Vyyes1++Uv7rJQNWjKvwBbNKrAlC8xU07deM0tpTjqrDSsx+3tugS2eU2BWoGaTzWo3yOvQZrXabGf689VawX66+bvsVGyqgaukQLmaflbTzmpuurzBZpdn3Kua25avXGrVK7E6jUqd1UR0Nkm1jxfPKzAFxhWwrtOoJG3gOt91ZbM9zIMAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIFAxAjce/k7FZLSSchk1ekyw5nbt25drC3Kso1mudTBzBoE6jUtMf3mnAgsCrAqyrmqpbpMS019lJAV1G7YqCf5yyV81uBVYziblu65s1sE8CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCOQjQB/E+eixLAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIILAKCRAgXoUOFpuKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII5CNAgDgfPZZFAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEViEB+iBehQ7WqrypnXcotuIliT2o3zy7fn0TSzCEAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAL5ChAgzleQ5bMSaNiKgHBWUMyEAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQCUK0MR0JeKSNQIIIIAAAggggAACCCCAAAIIIIAA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CAAADYxJREFUF/i4r1zVeSZDNIcbzn5LryXbUa69+TqjN9iXr7ynERyOoUaLPbl2lOsuq9xmi+Y0O/K1N1+r3wQIEBiqAofvOSUtWLqmZfH6astbHmgHAQIECBAgQIAAAQIECBAgQIAAAQIE+hAQIO4DyO56CZz09WtSDDsbAeLi8pHjq89HWjzeOgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEdQUCAOKX0Su6ls6NdewwrHXNN5suI4cPSOScflvbaZXy+Kfve0a6728X18eOVfO190NhNgAABAgQIECBAgAABAgQIECBAgAABAgQIENjhBQSId/gq3n6Bc2dOSv/4rqOyH9Mnjtlhr/pDr5+TnlizPo0fPSrtMXlcesMB09KksTvtsNfb24Wdc/Khad1z2+dfHreTR703K/sIECBAgAABAgQIECBAgAABAgQIECBAgAABAq8UgWEbN23e1snFrli+PDt833327iQbxxIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAPwUeefSxLOWMmTP7ecT2ZMMrpZaYAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBGorIEBc26pTcAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECFQTECCu5iU1AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEaisgQFzbqlNwAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIVBMQIK7mJTUBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRqKyBAXNuqU3ACBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhUExAgruYlNQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBGorIEBc26pTcAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECFQTECCu5iU1AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEaisgQFzbqlNwAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIVBMQIK7mJTUBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRqKyBAXNuqU3ACBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhUExAgruYlNQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBGorIEBc26pTcAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECFQTECCu5iU1AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEaisgQFzbqlNwAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIVBMQIK7mJTUBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRqKyBAXNuqU3ACBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhUExAgruYlNQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBGorIEBc26pTcAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECFQTECCu5iU1AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEaisgQFzbqlNwAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIVBMQIK7mJTUBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRqKyBAXNuqU3ACBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhUExAgruYlNQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBGorIEBc26pTcAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECFQTECCu5iU1AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEaisgQFzbqlNwAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIVBMQIK7mJTUBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRqKyBAXNuqU3ACBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhUExAgruYlNQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBGorIEBc26pTcAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECFQTECCu5iU1AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEaisgQFzbqlNwAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIVBMQIK7mJTUBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRqKyBAXNuqU3ACBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhUExAgruYlNQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBGorIEBc26pTcAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECFQTECCu5iU1AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEaisgQFzbqlNwAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIVBMQIK7mJTUBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRqKyBAXNuqU3ACBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhUExAgruYlNQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBGorIEBc26pTcAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECFQTECCu5iU1AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEaisgQFzbqlNwAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIVBMQIK7mJTUBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRqK9BxgHjYsGHZxW/btq22CApOgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBugjksdk8Vlul3B0HiEeOHJGdb/OWLVXOKy0BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQItCGQx2bzWG2VLDoOEI8ePSY73/r166ucV1oCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaEMgj83msdoqWXQcIB47dmx2vmeeWZs2bd5c5dzSEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEAFgYjJRmw2ljxWW+Hw1HGAeOSoUWnnnXfOzrlixUpB4ir60hIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCfAhEcjphsLBGjjVht1WXYxk2bt1U9qCz9qpUr0wsvvJDtmjRpYho/fnzaadSo1M7EyGX520aAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFXmsC2bdtSzDkcw0rnPYeHDx+epu++e1sUAxYgjrM/u3ZtWrduXVsFcRABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI9C4QPYcnTJzYe6Je9g5ogDjOs3XLlrRx48a0adNzaevW51NEtC0ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUF0gRmweOXJEGj16TDbncDvDShfPOuAB4mLm1gkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBg6AgMHzpFURICBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQGEwBAeLB1JU3AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEhpCAAPEQqgxFIUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwGAKCBAPpq68CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMIQEBIiHUGUoCgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAZTQIB4MHXlTYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgSEkIEA8hCpDUQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDCYAgLEg6krbwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECAwhAQHiIVQZikKAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHBFBAgHkxdeRMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGAICQgQD6HKUBQCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgMpoAA8WDqypsAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJDSECAeAhVhqIQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgMAUEiAdTV94ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAYQgICxEOoMhSFAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECgykgQDyYuvImQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAEBIQIB5ClaEoBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQGEyB/wd/SbDaKcOdaQAAAABJRU5ErkJggg=="
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "最后提交的分数为：0.44012，排名大概在507名\n",
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 6. 采用tfidf特征，采用LightGBM（goss）完成Otto商品分类，尽可能将超参数调到最优，并用该模型对测试数据进行测试，提交Kaggle网站，提交排名"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "特征工程和上面一致，这里直接读取数据来用"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>feat_1_log</th>\n",
       "      <th>feat_2_log</th>\n",
       "      <th>feat_3_log</th>\n",
       "      <th>feat_4_log</th>\n",
       "      <th>feat_5_log</th>\n",
       "      <th>feat_6_log</th>\n",
       "      <th>feat_7_log</th>\n",
       "      <th>feat_8_log</th>\n",
       "      <th>feat_9_log</th>\n",
       "      <th>...</th>\n",
       "      <th>feat_85_tfidf</th>\n",
       "      <th>feat_86_tfidf</th>\n",
       "      <th>feat_87_tfidf</th>\n",
       "      <th>feat_88_tfidf</th>\n",
       "      <th>feat_89_tfidf</th>\n",
       "      <th>feat_90_tfidf</th>\n",
       "      <th>feat_91_tfidf</th>\n",
       "      <th>feat_92_tfidf</th>\n",
       "      <th>feat_93_tfidf</th>\n",
       "      <th>target</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0.167949</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.075886</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>Class_1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.159571</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>Class_1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.159571</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>Class_1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>0.167949</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.162608</td>\n",
       "      <td>0.649561</td>\n",
       "      <td>0.289065</td>\n",
       "      <td>0.489076</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.008244</td>\n",
       "      <td>0.022456</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>Class_1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.124622</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.145988</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>Class_1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 188 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   id  feat_1_log  feat_2_log  feat_3_log  feat_4_log  feat_5_log  feat_6_log  \\\n",
       "0   1    0.167949         0.0         0.0    0.000000    0.000000    0.000000   \n",
       "1   2    0.000000         0.0         0.0    0.000000    0.000000    0.000000   \n",
       "2   3    0.000000         0.0         0.0    0.000000    0.000000    0.000000   \n",
       "3   4    0.167949         0.0         0.0    0.162608    0.649561    0.289065   \n",
       "4   5    0.000000         0.0         0.0    0.000000    0.000000    0.000000   \n",
       "\n",
       "   feat_7_log  feat_8_log  feat_9_log  ...  feat_85_tfidf  feat_86_tfidf  \\\n",
       "0    0.000000    0.000000         0.0  ...       0.075886       0.000000   \n",
       "1    0.000000    0.159571         0.0  ...       0.000000       0.000000   \n",
       "2    0.000000    0.159571         0.0  ...       0.000000       0.000000   \n",
       "3    0.489076    0.000000         0.0  ...       0.000000       0.008244   \n",
       "4    0.000000    0.000000         0.0  ...       0.124622       0.000000   \n",
       "\n",
       "   feat_87_tfidf  feat_88_tfidf  feat_89_tfidf  feat_90_tfidf  feat_91_tfidf  \\\n",
       "0       0.000000            0.0            0.0       0.000000            0.0   \n",
       "1       0.000000            0.0            0.0       0.000000            0.0   \n",
       "2       0.000000            0.0            0.0       0.000000            0.0   \n",
       "3       0.022456            0.0            0.0       0.000000            0.0   \n",
       "4       0.000000            0.0            0.0       0.145988            0.0   \n",
       "\n",
       "   feat_92_tfidf  feat_93_tfidf   target  \n",
       "0            0.0            0.0  Class_1  \n",
       "1            0.0            0.0  Class_1  \n",
       "2            0.0            0.0  Class_1  \n",
       "3            0.0            0.0  Class_1  \n",
       "4            0.0            0.0  Class_1  \n",
       "\n",
       "[5 rows x 188 columns]"
      ]
     },
     "execution_count": 117,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 读取数据\n",
    "df = pd.read_csv('Otto_train_log_tfidf.csv')\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 123,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 分离数据\n",
    "X = df.drop(['id','target'],axis=1)\n",
    "y = df['target']\n",
    "y = LabelEncoder().fit_transform(y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "使用lgbm的cv函数先计算较大学习率时的树数量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 124,
   "metadata": {},
   "outputs": [],
   "source": [
    "params = {'boosting_type': 'goss',\n",
    "          'objective': 'multiclass',\n",
    "          'n_jobs': 4,\n",
    "          'num_class':9,\n",
    "          'learning_rate': 0.1,\n",
    "          'num_leaves': 70,\n",
    "          'max_depth': 7,\n",
    "#           'n_estimators':4156,\n",
    "#           'max_bin': 127, \n",
    "#           'subsample': 0.7,\n",
    "#           'bagging_freq': 1,\n",
    "#           'colsample_bytree': 0.7,\n",
    "#           'min_child_shamps':40,\n",
    "         }\n",
    "\n",
    "lgbm_data = lgbm.Dataset(X,y)\n",
    "lgbm_result = lgbm.cv(params,lgbm_data,num_boost_round=20000,\n",
    "                      metrics='multi_logloss',early_stopping_rounds=20,seed=5,nfold=5)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 125,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "293 0.48211199190850795\n"
     ]
    }
   ],
   "source": [
    "print(len(lgbm_result['multi_logloss-mean']),lgbm_result['multi_logloss-mean'][-1])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "使用同一个分层样本"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 127,
   "metadata": {},
   "outputs": [],
   "source": [
    "kfold = StratifiedKFold(n_splits=5,shuffle=True,random_state=5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "调整最大叶子数，和最大树深度"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 132,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 24 candidates, totalling 120 fits\n",
      "[CV] max_depth=5, num_leaves=60 ......................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  max_depth=5, num_leaves=60, score=-0.4867257407047395, total=  13.0s\n",
      "[CV] max_depth=5, num_leaves=60 ......................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   1 out of   1 | elapsed:   14.9s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  max_depth=5, num_leaves=60, score=-0.48273450886450203, total=  12.3s\n",
      "[CV] max_depth=5, num_leaves=60 ......................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   2 out of   2 | elapsed:   29.1s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  max_depth=5, num_leaves=60, score=-0.5022987303452048, total=  12.5s\n",
      "[CV] max_depth=5, num_leaves=60 ......................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   3 out of   3 | elapsed:   43.6s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  max_depth=5, num_leaves=60, score=-0.4889057240648123, total=  12.3s\n",
      "[CV] max_depth=5, num_leaves=60 ......................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   4 out of   4 | elapsed:   57.7s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  max_depth=5, num_leaves=60, score=-0.49051122289743093, total=  12.1s\n",
      "[CV] max_depth=5, num_leaves=65 ......................................\n",
      "[CV]  max_depth=5, num_leaves=65, score=-0.4867257407047395, total=  12.3s\n",
      "[CV] max_depth=5, num_leaves=65 ......................................\n",
      "[CV]  max_depth=5, num_leaves=65, score=-0.48273450886450203, total=  12.3s\n",
      "[CV] max_depth=5, num_leaves=65 ......................................\n",
      "[CV]  max_depth=5, num_leaves=65, score=-0.5022987303452048, total=  12.6s\n",
      "[CV] max_depth=5, num_leaves=65 ......................................\n",
      "[CV]  max_depth=5, num_leaves=65, score=-0.4889057240648123, total=  12.6s\n",
      "[CV] max_depth=5, num_leaves=65 ......................................\n",
      "[CV]  max_depth=5, num_leaves=65, score=-0.49051122289743093, total=  12.5s\n",
      "[CV] max_depth=5, num_leaves=70 ......................................\n",
      "[CV]  max_depth=5, num_leaves=70, score=-0.4867257407047395, total=  12.5s\n",
      "[CV] max_depth=5, num_leaves=70 ......................................\n",
      "[CV]  max_depth=5, num_leaves=70, score=-0.48273450886450203, total=  12.5s\n",
      "[CV] max_depth=5, num_leaves=70 ......................................\n",
      "[CV]  max_depth=5, num_leaves=70, score=-0.5022987303452048, total=  12.4s\n",
      "[CV] max_depth=5, num_leaves=70 ......................................\n",
      "[CV]  max_depth=5, num_leaves=70, score=-0.4889057240648123, total=  12.5s\n",
      "[CV] max_depth=5, num_leaves=70 ......................................\n",
      "[CV]  max_depth=5, num_leaves=70, score=-0.49051122289743093, total=  12.1s\n",
      "[CV] max_depth=5, num_leaves=75 ......................................\n",
      "[CV]  max_depth=5, num_leaves=75, score=-0.4867257407047395, total=  12.3s\n",
      "[CV] max_depth=5, num_leaves=75 ......................................\n",
      "[CV]  max_depth=5, num_leaves=75, score=-0.48273450886450203, total=  12.9s\n",
      "[CV] max_depth=5, num_leaves=75 ......................................\n",
      "[CV]  max_depth=5, num_leaves=75, score=-0.5022987303452048, total=  12.4s\n",
      "[CV] max_depth=5, num_leaves=75 ......................................\n",
      "[CV]  max_depth=5, num_leaves=75, score=-0.4889057240648123, total=  17.9s\n",
      "[CV] max_depth=5, num_leaves=75 ......................................\n",
      "[CV]  max_depth=5, num_leaves=75, score=-0.49051122289743093, total=  12.5s\n",
      "[CV] max_depth=5, num_leaves=80 ......................................\n",
      "[CV]  max_depth=5, num_leaves=80, score=-0.4867257407047395, total=  12.5s\n",
      "[CV] max_depth=5, num_leaves=80 ......................................\n",
      "[CV]  max_depth=5, num_leaves=80, score=-0.48273450886450203, total=  12.7s\n",
      "[CV] max_depth=5, num_leaves=80 ......................................\n",
      "[CV]  max_depth=5, num_leaves=80, score=-0.5022987303452048, total=  12.7s\n",
      "[CV] max_depth=5, num_leaves=80 ......................................\n",
      "[CV]  max_depth=5, num_leaves=80, score=-0.4889057240648123, total=  12.4s\n",
      "[CV] max_depth=5, num_leaves=80 ......................................\n",
      "[CV]  max_depth=5, num_leaves=80, score=-0.49051122289743093, total=  12.9s\n",
      "[CV] max_depth=5, num_leaves=85 ......................................\n",
      "[CV]  max_depth=5, num_leaves=85, score=-0.4867257407047395, total=  12.6s\n",
      "[CV] max_depth=5, num_leaves=85 ......................................\n",
      "[CV]  max_depth=5, num_leaves=85, score=-0.48273450886450203, total=  12.3s\n",
      "[CV] max_depth=5, num_leaves=85 ......................................\n",
      "[CV]  max_depth=5, num_leaves=85, score=-0.5022987303452048, total=  12.3s\n",
      "[CV] max_depth=5, num_leaves=85 ......................................\n",
      "[CV]  max_depth=5, num_leaves=85, score=-0.4889057240648123, total=  12.3s\n",
      "[CV] max_depth=5, num_leaves=85 ......................................\n",
      "[CV]  max_depth=5, num_leaves=85, score=-0.49051122289743093, total=  12.4s\n",
      "[CV] max_depth=6, num_leaves=60 ......................................\n",
      "[CV]  max_depth=6, num_leaves=60, score=-0.47950697653092156, total=  15.4s\n",
      "[CV] max_depth=6, num_leaves=60 ......................................\n",
      "[CV]  max_depth=6, num_leaves=60, score=-0.47612314816381823, total=  15.3s\n",
      "[CV] max_depth=6, num_leaves=60 ......................................\n",
      "[CV]  max_depth=6, num_leaves=60, score=-0.4922942807863141, total=  15.4s\n",
      "[CV] max_depth=6, num_leaves=60 ......................................\n",
      "[CV]  max_depth=6, num_leaves=60, score=-0.4791621109099641, total=  15.2s\n",
      "[CV] max_depth=6, num_leaves=60 ......................................\n",
      "[CV]  max_depth=6, num_leaves=60, score=-0.47999603909066374, total=  15.1s\n",
      "[CV] max_depth=6, num_leaves=65 ......................................\n",
      "[CV]  max_depth=6, num_leaves=65, score=-0.4807982797410191, total=  15.2s\n",
      "[CV] max_depth=6, num_leaves=65 ......................................\n",
      "[CV]  max_depth=6, num_leaves=65, score=-0.4787790046010861, total=  15.5s\n",
      "[CV] max_depth=6, num_leaves=65 ......................................\n",
      "[CV]  max_depth=6, num_leaves=65, score=-0.49122728880968114, total=  21.4s\n",
      "[CV] max_depth=6, num_leaves=65 ......................................\n",
      "[CV]  max_depth=6, num_leaves=65, score=-0.47472913324720606, total=  15.4s\n",
      "[CV] max_depth=6, num_leaves=65 ......................................\n",
      "[CV]  max_depth=6, num_leaves=65, score=-0.481044381038333, total=  15.1s\n",
      "[CV] max_depth=6, num_leaves=70 ......................................\n",
      "[CV]  max_depth=6, num_leaves=70, score=-0.4807982797410191, total=  15.2s\n",
      "[CV] max_depth=6, num_leaves=70 ......................................\n",
      "[CV]  max_depth=6, num_leaves=70, score=-0.4787790046010861, total=  15.3s\n",
      "[CV] max_depth=6, num_leaves=70 ......................................\n",
      "[CV]  max_depth=6, num_leaves=70, score=-0.49122728880968114, total=  15.2s\n",
      "[CV] max_depth=6, num_leaves=70 ......................................\n",
      "[CV]  max_depth=6, num_leaves=70, score=-0.47472913324720606, total=  16.7s\n",
      "[CV] max_depth=6, num_leaves=70 ......................................\n",
      "[CV]  max_depth=6, num_leaves=70, score=-0.481044381038333, total=  16.5s\n",
      "[CV] max_depth=6, num_leaves=75 ......................................\n",
      "[CV]  max_depth=6, num_leaves=75, score=-0.4807982797410191, total=  15.6s\n",
      "[CV] max_depth=6, num_leaves=75 ......................................\n",
      "[CV]  max_depth=6, num_leaves=75, score=-0.4787790046010861, total=  15.5s\n",
      "[CV] max_depth=6, num_leaves=75 ......................................\n",
      "[CV]  max_depth=6, num_leaves=75, score=-0.49122728880968114, total=  15.2s\n",
      "[CV] max_depth=6, num_leaves=75 ......................................\n",
      "[CV]  max_depth=6, num_leaves=75, score=-0.47472913324720606, total=  15.5s\n",
      "[CV] max_depth=6, num_leaves=75 ......................................\n",
      "[CV]  max_depth=6, num_leaves=75, score=-0.481044381038333, total=  15.4s\n",
      "[CV] max_depth=6, num_leaves=80 ......................................\n",
      "[CV]  max_depth=6, num_leaves=80, score=-0.4807982797410191, total=  15.4s\n",
      "[CV] max_depth=6, num_leaves=80 ......................................\n",
      "[CV]  max_depth=6, num_leaves=80, score=-0.4787790046010861, total=  16.1s\n",
      "[CV] max_depth=6, num_leaves=80 ......................................\n",
      "[CV]  max_depth=6, num_leaves=80, score=-0.49122728880968114, total=  15.4s\n",
      "[CV] max_depth=6, num_leaves=80 ......................................\n",
      "[CV]  max_depth=6, num_leaves=80, score=-0.47472913324720606, total=  21.5s\n",
      "[CV] max_depth=6, num_leaves=80 ......................................\n",
      "[CV]  max_depth=6, num_leaves=80, score=-0.481044381038333, total=  15.2s\n",
      "[CV] max_depth=6, num_leaves=85 ......................................\n",
      "[CV]  max_depth=6, num_leaves=85, score=-0.4807982797410191, total=  15.3s\n",
      "[CV] max_depth=6, num_leaves=85 ......................................\n",
      "[CV]  max_depth=6, num_leaves=85, score=-0.4787790046010861, total=  15.2s\n",
      "[CV] max_depth=6, num_leaves=85 ......................................\n",
      "[CV]  max_depth=6, num_leaves=85, score=-0.49122728880968114, total=  15.4s\n",
      "[CV] max_depth=6, num_leaves=85 ......................................\n",
      "[CV]  max_depth=6, num_leaves=85, score=-0.47472913324720606, total=  15.5s\n",
      "[CV] max_depth=6, num_leaves=85 ......................................\n",
      "[CV]  max_depth=6, num_leaves=85, score=-0.481044381038333, total=  15.1s\n",
      "[CV] max_depth=7, num_leaves=60 ......................................\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  max_depth=7, num_leaves=60, score=-0.47929182995878644, total=  18.4s\n",
      "[CV] max_depth=7, num_leaves=60 ......................................\n",
      "[CV]  max_depth=7, num_leaves=60, score=-0.4757800792064847, total=  18.4s\n",
      "[CV] max_depth=7, num_leaves=60 ......................................\n",
      "[CV]  max_depth=7, num_leaves=60, score=-0.49329813740110373, total=  18.4s\n",
      "[CV] max_depth=7, num_leaves=60 ......................................\n",
      "[CV]  max_depth=7, num_leaves=60, score=-0.4735410659751878, total=  18.4s\n",
      "[CV] max_depth=7, num_leaves=60 ......................................\n",
      "[CV]  max_depth=7, num_leaves=60, score=-0.47785396026098803, total=  18.3s\n",
      "[CV] max_depth=7, num_leaves=65 ......................................\n",
      "[CV]  max_depth=7, num_leaves=65, score=-0.47788481061055726, total=  18.6s\n",
      "[CV] max_depth=7, num_leaves=65 ......................................\n",
      "[CV]  max_depth=7, num_leaves=65, score=-0.4709932083986652, total=  18.9s\n",
      "[CV] max_depth=7, num_leaves=65 ......................................\n",
      "[CV]  max_depth=7, num_leaves=65, score=-0.4912425552183403, total=  18.7s\n",
      "[CV] max_depth=7, num_leaves=65 ......................................\n",
      "[CV]  max_depth=7, num_leaves=65, score=-0.47335065886678096, total=  24.7s\n",
      "[CV] max_depth=7, num_leaves=65 ......................................\n",
      "[CV]  max_depth=7, num_leaves=65, score=-0.4775252594148527, total=  18.9s\n",
      "[CV] max_depth=7, num_leaves=70 ......................................\n",
      "[CV]  max_depth=7, num_leaves=70, score=-0.4785739494962574, total=  18.9s\n",
      "[CV] max_depth=7, num_leaves=70 ......................................\n",
      "[CV]  max_depth=7, num_leaves=70, score=-0.4722690506797945, total=  18.9s\n",
      "[CV] max_depth=7, num_leaves=70 ......................................\n",
      "[CV]  max_depth=7, num_leaves=70, score=-0.48990734695260696, total=  18.4s\n",
      "[CV] max_depth=7, num_leaves=70 ......................................\n",
      "[CV]  max_depth=7, num_leaves=70, score=-0.47335414082446314, total=  18.4s\n",
      "[CV] max_depth=7, num_leaves=70 ......................................\n",
      "[CV]  max_depth=7, num_leaves=70, score=-0.4812191690598519, total=  21.0s\n",
      "[CV] max_depth=7, num_leaves=75 ......................................\n",
      "[CV]  max_depth=7, num_leaves=75, score=-0.4802923390874354, total=  23.1s\n",
      "[CV] max_depth=7, num_leaves=75 ......................................\n",
      "[CV]  max_depth=7, num_leaves=75, score=-0.4734860081678819, total=  19.1s\n",
      "[CV] max_depth=7, num_leaves=75 ......................................\n",
      "[CV]  max_depth=7, num_leaves=75, score=-0.49241680957544853, total=  18.7s\n",
      "[CV] max_depth=7, num_leaves=75 ......................................\n",
      "[CV]  max_depth=7, num_leaves=75, score=-0.47338512042473396, total=  18.8s\n",
      "[CV] max_depth=7, num_leaves=75 ......................................\n",
      "[CV]  max_depth=7, num_leaves=75, score=-0.4788910690787276, total=  19.2s\n",
      "[CV] max_depth=7, num_leaves=80 ......................................\n",
      "[CV]  max_depth=7, num_leaves=80, score=-0.47974662746447805, total=  19.3s\n",
      "[CV] max_depth=7, num_leaves=80 ......................................\n",
      "[CV]  max_depth=7, num_leaves=80, score=-0.4739704948608928, total=  26.5s\n",
      "[CV] max_depth=7, num_leaves=80 ......................................\n",
      "[CV]  max_depth=7, num_leaves=80, score=-0.48943220927798026, total=  20.7s\n",
      "[CV] max_depth=7, num_leaves=80 ......................................\n",
      "[CV]  max_depth=7, num_leaves=80, score=-0.47395123135688955, total=  18.9s\n",
      "[CV] max_depth=7, num_leaves=80 ......................................\n",
      "[CV]  max_depth=7, num_leaves=80, score=-0.47866402091904653, total=  19.3s\n",
      "[CV] max_depth=7, num_leaves=85 ......................................\n",
      "[CV]  max_depth=7, num_leaves=85, score=-0.47628925155578505, total=  19.6s\n",
      "[CV] max_depth=7, num_leaves=85 ......................................\n",
      "[CV]  max_depth=7, num_leaves=85, score=-0.4777410339704521, total=  18.9s\n",
      "[CV] max_depth=7, num_leaves=85 ......................................\n",
      "[CV]  max_depth=7, num_leaves=85, score=-0.49288964043168654, total=  19.5s\n",
      "[CV] max_depth=7, num_leaves=85 ......................................\n",
      "[CV]  max_depth=7, num_leaves=85, score=-0.47422808734082617, total=  19.3s\n",
      "[CV] max_depth=7, num_leaves=85 ......................................\n",
      "[CV]  max_depth=7, num_leaves=85, score=-0.47664840331715375, total=  19.2s\n",
      "[CV] max_depth=8, num_leaves=60 ......................................\n",
      "[CV]  max_depth=8, num_leaves=60, score=-0.48031592628742303, total=  22.2s\n",
      "[CV] max_depth=8, num_leaves=60 ......................................\n",
      "[CV]  max_depth=8, num_leaves=60, score=-0.47493307186250716, total=  22.0s\n",
      "[CV] max_depth=8, num_leaves=60 ......................................\n",
      "[CV]  max_depth=8, num_leaves=60, score=-0.48960555341830986, total=  21.3s\n",
      "[CV] max_depth=8, num_leaves=60 ......................................\n",
      "[CV]  max_depth=8, num_leaves=60, score=-0.47306435172248096, total=  26.6s\n",
      "[CV] max_depth=8, num_leaves=60 ......................................\n",
      "[CV]  max_depth=8, num_leaves=60, score=-0.47570803867356154, total=  21.1s\n",
      "[CV] max_depth=8, num_leaves=65 ......................................\n",
      "[CV]  max_depth=8, num_leaves=65, score=-0.47734458133897206, total=  21.9s\n",
      "[CV] max_depth=8, num_leaves=65 ......................................\n",
      "[CV]  max_depth=8, num_leaves=65, score=-0.4754301513826128, total=  22.6s\n",
      "[CV] max_depth=8, num_leaves=65 ......................................\n",
      "[CV]  max_depth=8, num_leaves=65, score=-0.4892488543236514, total=  21.6s\n",
      "[CV] max_depth=8, num_leaves=65 ......................................\n",
      "[CV]  max_depth=8, num_leaves=65, score=-0.47295983913157325, total=  22.7s\n",
      "[CV] max_depth=8, num_leaves=65 ......................................\n",
      "[CV]  max_depth=8, num_leaves=65, score=-0.479956131020229, total=  24.8s\n",
      "[CV] max_depth=8, num_leaves=70 ......................................\n",
      "[CV]  max_depth=8, num_leaves=70, score=-0.476532248664452, total=  23.0s\n",
      "[CV] max_depth=8, num_leaves=70 ......................................\n",
      "[CV]  max_depth=8, num_leaves=70, score=-0.4763154648964636, total=  22.1s\n",
      "[CV] max_depth=8, num_leaves=70 ......................................\n",
      "[CV]  max_depth=8, num_leaves=70, score=-0.4929464138597822, total=  22.1s\n",
      "[CV] max_depth=8, num_leaves=70 ......................................\n",
      "[CV]  max_depth=8, num_leaves=70, score=-0.4759352484107853, total=  22.4s\n",
      "[CV] max_depth=8, num_leaves=70 ......................................\n",
      "[CV]  max_depth=8, num_leaves=70, score=-0.4806921187294418, total=  28.3s\n",
      "[CV] max_depth=8, num_leaves=75 ......................................\n",
      "[CV]  max_depth=8, num_leaves=75, score=-0.48238322173667275, total=  23.5s\n",
      "[CV] max_depth=8, num_leaves=75 ......................................\n",
      "[CV]  max_depth=8, num_leaves=75, score=-0.4754076765063072, total=  24.8s\n",
      "[CV] max_depth=8, num_leaves=75 ......................................\n",
      "[CV]  max_depth=8, num_leaves=75, score=-0.49419472761339417, total=  23.4s\n",
      "[CV] max_depth=8, num_leaves=75 ......................................\n",
      "[CV]  max_depth=8, num_leaves=75, score=-0.4758235200421163, total=  23.1s\n",
      "[CV] max_depth=8, num_leaves=75 ......................................\n",
      "[CV]  max_depth=8, num_leaves=75, score=-0.4801386888256803, total=  23.1s\n",
      "[CV] max_depth=8, num_leaves=80 ......................................\n",
      "[CV]  max_depth=8, num_leaves=80, score=-0.47762642840425196, total=  24.4s\n",
      "[CV] max_depth=8, num_leaves=80 ......................................\n",
      "[CV]  max_depth=8, num_leaves=80, score=-0.4768548591876224, total=  24.0s\n",
      "[CV] max_depth=8, num_leaves=80 ......................................\n",
      "[CV]  max_depth=8, num_leaves=80, score=-0.49245129953017514, total=  23.1s\n",
      "[CV] max_depth=8, num_leaves=80 ......................................\n",
      "[CV]  max_depth=8, num_leaves=80, score=-0.4745952842573066, total=  23.3s\n",
      "[CV] max_depth=8, num_leaves=80 ......................................\n",
      "[CV]  max_depth=8, num_leaves=80, score=-0.4773425193452266, total=  30.2s\n",
      "[CV] max_depth=8, num_leaves=85 ......................................\n",
      "[CV]  max_depth=8, num_leaves=85, score=-0.4823552376793585, total=  24.4s\n",
      "[CV] max_depth=8, num_leaves=85 ......................................\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  max_depth=8, num_leaves=85, score=-0.47411253250292296, total=  22.5s\n",
      "[CV] max_depth=8, num_leaves=85 ......................................\n",
      "[CV]  max_depth=8, num_leaves=85, score=-0.49243218387564536, total=  22.3s\n",
      "[CV] max_depth=8, num_leaves=85 ......................................\n",
      "[CV]  max_depth=8, num_leaves=85, score=-0.4749625667750683, total=  22.1s\n",
      "[CV] max_depth=8, num_leaves=85 ......................................\n",
      "[CV]  max_depth=8, num_leaves=85, score=-0.47899731717330235, total=  22.7s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done 120 out of 120 | elapsed: 42.2min finished\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=StratifiedKFold(n_splits=5, random_state=5, shuffle=True),\n",
       "       error_score='raise-deprecating',\n",
       "       estimator=LGBMClassifier(boosting_type='goss', class_weight=None, colsample_bytree=0.7,\n",
       "        importance_type='split', learning_rate=0.1, max_bin=127,\n",
       "        max_depth=-1, min_child_samples=20, min_child_weight=0.001,\n",
       "        min_split_gain=0.0, n_estimators=293, n_jobs=4, num_class=9,\n",
       "        num_leaves=31, objective='multiclass', random_state=None,\n",
       "        reg_alpha=0.0, reg_lambda=0.0, silent=False, subsample=1.0,\n",
       "        subsample_for_bin=200000, subsample_freq=0),\n",
       "       fit_params=None, iid='warn', n_jobs=None,\n",
       "       param_grid={'num_leaves': range(60, 86, 5), 'max_depth': [5, 6, 7, 8]},\n",
       "       pre_dispatch='2*n_jobs', refit=False, return_train_score='warn',\n",
       "       scoring='neg_log_loss', verbose=5)"
      ]
     },
     "execution_count": 132,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "params = {'boosting_type': 'goss',\n",
    "          'objective': 'multiclass',\n",
    "          'n_jobs': 4,\n",
    "          'num_class':9,\n",
    "          'learning_rate': 0.1,\n",
    "#           'num_leaves': 70,\n",
    "#           'max_depth': 7,\n",
    "          'n_estimators':293,\n",
    "          'max_bin': 127, \n",
    "          'colsample_bytree': 0.7,\n",
    "#           'min_child_shamps':40,\n",
    "         }\n",
    "lgc = LGBMClassifier(silent=False,**params)\n",
    "tuned_params = dict(num_leaves = range(60,86,5),max_depth=[5,6,7,8])\n",
    "gc = GridSearchCV(lgc,tuned_params,scoring='neg_log_loss',verbose=5,refit=False,cv=kfold)\n",
    "gc.fit(X,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 133,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'max_depth': 7, 'num_leaves': 65} -0.4781992263458153\n"
     ]
    }
   ],
   "source": [
    "print(gc.best_params_,gc.best_score_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "调整最小叶子节点数据量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 146,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 10 candidates, totalling 50 fits\n",
      "[CV] min_child_samples=10 ............................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] . min_child_samples=10, score=-0.48311940052684443, total=  19.9s\n",
      "[CV] min_child_samples=10 ............................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   1 out of   1 | elapsed:   24.5s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] .. min_child_samples=10, score=-0.4759117130299712, total=  24.0s\n",
      "[CV] min_child_samples=10 ............................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   2 out of   2 | elapsed:   52.5s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] .. min_child_samples=10, score=-0.4956565490955248, total=  21.0s\n",
      "[CV] min_child_samples=10 ............................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   3 out of   3 | elapsed:  1.3min remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] .. min_child_samples=10, score=-0.4777639110211311, total=  20.3s\n",
      "[CV] min_child_samples=10 ............................................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   4 out of   4 | elapsed:  1.7min remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV] .. min_child_samples=10, score=-0.4810349130649564, total=  20.1s\n",
      "[CV] min_child_samples=20 ............................................\n",
      "[CV] . min_child_samples=20, score=-0.47788481061055726, total=  18.5s\n",
      "[CV] min_child_samples=20 ............................................\n",
      "[CV] .. min_child_samples=20, score=-0.4709932083986652, total=  24.7s\n",
      "[CV] min_child_samples=20 ............................................\n",
      "[CV] .. min_child_samples=20, score=-0.4912425552183403, total=  19.0s\n",
      "[CV] min_child_samples=20 ............................................\n",
      "[CV] . min_child_samples=20, score=-0.47335065886678096, total=  18.7s\n",
      "[CV] min_child_samples=20 ............................................\n",
      "[CV] .. min_child_samples=20, score=-0.4775252594148527, total=  18.6s\n",
      "[CV] min_child_samples=30 ............................................\n",
      "[CV] .. min_child_samples=30, score=-0.4788663031833731, total=  18.0s\n",
      "[CV] min_child_samples=30 ............................................\n",
      "[CV] .. min_child_samples=30, score=-0.4726172086853669, total=  20.3s\n",
      "[CV] min_child_samples=30 ............................................\n",
      "[CV] . min_child_samples=30, score=-0.49352104743619896, total=  18.4s\n",
      "[CV] min_child_samples=30 ............................................\n",
      "[CV] . min_child_samples=30, score=-0.47269014869028525, total=  18.0s\n",
      "[CV] min_child_samples=30 ............................................\n",
      "[CV] .. min_child_samples=30, score=-0.4763101793789902, total=  17.8s\n",
      "[CV] min_child_samples=40 ............................................\n",
      "[CV] . min_child_samples=40, score=-0.47828464122759073, total=  17.3s\n",
      "[CV] min_child_samples=40 ............................................\n",
      "[CV] .. min_child_samples=40, score=-0.4744758399898364, total=  17.7s\n",
      "[CV] min_child_samples=40 ............................................\n",
      "[CV] .. min_child_samples=40, score=-0.4867032057582754, total=  17.3s\n",
      "[CV] min_child_samples=40 ............................................\n",
      "[CV] .. min_child_samples=40, score=-0.4716507328369341, total=  18.3s\n",
      "[CV] min_child_samples=40 ............................................\n",
      "[CV] . min_child_samples=40, score=-0.47585672500755005, total=  17.2s\n",
      "[CV] min_child_samples=50 ............................................\n",
      "[CV] . min_child_samples=50, score=-0.47926485257559204, total=  21.9s\n",
      "[CV] min_child_samples=50 ............................................\n",
      "[CV] .. min_child_samples=50, score=-0.4756076829153011, total=  17.0s\n",
      "[CV] min_child_samples=50 ............................................\n",
      "[CV] . min_child_samples=50, score=-0.49107180162368647, total=  16.8s\n",
      "[CV] min_child_samples=50 ............................................\n",
      "[CV] . min_child_samples=50, score=-0.47164288965184964, total=  18.5s\n",
      "[CV] min_child_samples=50 ............................................\n",
      "[CV] . min_child_samples=50, score=-0.48012291386336253, total=  16.9s\n",
      "[CV] min_child_samples=60 ............................................\n",
      "[CV] . min_child_samples=60, score=-0.48105710449120326, total=  16.5s\n",
      "[CV] min_child_samples=60 ............................................\n",
      "[CV] .. min_child_samples=60, score=-0.4777507181813762, total=  16.4s\n",
      "[CV] min_child_samples=60 ............................................\n",
      "[CV] .. min_child_samples=60, score=-0.4942744709798652, total=  17.2s\n",
      "[CV] min_child_samples=60 ............................................\n",
      "[CV] .. min_child_samples=60, score=-0.4740701749713312, total=  16.5s\n",
      "[CV] min_child_samples=60 ............................................\n",
      "[CV] .... min_child_samples=60, score=-0.48155495882319, total=  16.7s\n",
      "[CV] min_child_samples=70 ............................................\n",
      "[CV] . min_child_samples=70, score=-0.48144793524446433, total=  17.6s\n",
      "[CV] min_child_samples=70 ............................................\n",
      "[CV] . min_child_samples=70, score=-0.47581220622375686, total=  17.7s\n",
      "[CV] min_child_samples=70 ............................................\n",
      "[CV] . min_child_samples=70, score=-0.49344966444422395, total=  17.1s\n",
      "[CV] min_child_samples=70 ............................................\n",
      "[CV] .. min_child_samples=70, score=-0.4772393947797375, total=  16.8s\n",
      "[CV] min_child_samples=70 ............................................\n",
      "[CV] .. min_child_samples=70, score=-0.4829723271078087, total=  22.7s\n",
      "[CV] min_child_samples=80 ............................................\n",
      "[CV] . min_child_samples=80, score=-0.48464760276142904, total=  17.4s\n",
      "[CV] min_child_samples=80 ............................................\n",
      "[CV] . min_child_samples=80, score=-0.47879866964086004, total=  17.2s\n",
      "[CV] min_child_samples=80 ............................................\n",
      "[CV] .. min_child_samples=80, score=-0.4938155687072359, total=  17.4s\n",
      "[CV] min_child_samples=80 ............................................\n",
      "[CV] .. min_child_samples=80, score=-0.4760902516817096, total=  17.1s\n",
      "[CV] min_child_samples=80 ............................................\n",
      "[CV] .. min_child_samples=80, score=-0.4840689442464398, total=  17.1s\n",
      "[CV] min_child_samples=90 ............................................\n",
      "[CV] .. min_child_samples=90, score=-0.4837389947452005, total=  16.5s\n",
      "[CV] min_child_samples=90 ............................................\n",
      "[CV] .. min_child_samples=90, score=-0.4828902563783179, total=  16.6s\n",
      "[CV] min_child_samples=90 ............................................\n",
      "[CV] .. min_child_samples=90, score=-0.4937979027317624, total=  16.5s\n",
      "[CV] min_child_samples=90 ............................................\n",
      "[CV] .. min_child_samples=90, score=-0.4799733365196166, total=  16.7s\n",
      "[CV] min_child_samples=90 ............................................\n",
      "[CV] . min_child_samples=90, score=-0.48557017513481315, total=  15.4s\n",
      "[CV] min_child_samples=100 ...........................................\n",
      "[CV] . min_child_samples=100, score=-0.4832992405853228, total=  15.6s\n",
      "[CV] min_child_samples=100 ...........................................\n",
      "[CV]  min_child_samples=100, score=-0.48022483555542966, total=  16.3s\n",
      "[CV] min_child_samples=100 ...........................................\n",
      "[CV] . min_child_samples=100, score=-0.4984557207433213, total=  15.5s\n",
      "[CV] min_child_samples=100 ...........................................\n",
      "[CV]  min_child_samples=100, score=-0.48251990861993954, total=  15.9s\n",
      "[CV] min_child_samples=100 ...........................................\n",
      "[CV]  min_child_samples=100, score=-0.49032457456834616, total=  17.9s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done  50 out of  50 | elapsed: 17.7min finished\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=StratifiedKFold(n_splits=5, random_state=5, shuffle=True),\n",
       "       error_score='raise-deprecating',\n",
       "       estimator=LGBMClassifier(boosting_type='goss', class_weight=None, colsample_bytree=0.7,\n",
       "        importance_type='split', learning_rate=0.1, max_bin=127,\n",
       "        max_depth=7, min_child_samples=20, min_child_weight=0.001,\n",
       "        min_split_gain=0.0, n_estimators=293, n_jobs=4, num_class=9,\n",
       "        num_leaves=65, objective='multiclass', random_state=None,\n",
       "        reg_alpha=0.0, reg_lambda=0.0, silent=False, subsample=1.0,\n",
       "        subsample_for_bin=200000, subsample_freq=0),\n",
       "       fit_params=None, iid='warn', n_jobs=None,\n",
       "       param_grid={'min_child_samples': range(10, 101, 10)},\n",
       "       pre_dispatch='2*n_jobs', refit=False, return_train_score='warn',\n",
       "       scoring='neg_log_loss', verbose=5)"
      ]
     },
     "execution_count": 146,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "params = {'boosting_type': 'goss',\n",
    "          'objective': 'multiclass',\n",
    "          'n_jobs': 4,\n",
    "          'num_class':9,\n",
    "          'learning_rate': 0.1,\n",
    "          'num_leaves': 65,\n",
    "          'max_depth': 7,\n",
    "          'n_estimators':293,\n",
    "          'max_bin': 127, \n",
    "          'colsample_bytree': 0.7,\n",
    "#           'min_child_samples':40,\n",
    "         }\n",
    "tuned_params = dict(min_child_samples=range(10,101,10))\n",
    "lgc = LGBMClassifier(silent=False,**params)\n",
    "gc = GridSearchCV(lgc,tuned_params,scoring='neg_log_loss',verbose=5,refit=False,cv=kfold)\n",
    "gc.fit(X,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 148,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'min_child_samples': 40} -0.47739433481676913\n",
      "[-0.48269734 -0.47819923 -0.47880108 -0.47739433 -0.47954191 -0.48174141\n",
      " -0.48218412 -0.48348412 -0.48519402 -0.48696436]\n"
     ]
    }
   ],
   "source": [
    "print(gc.best_params_,gc.best_score_)\n",
    "print(gc.cv_results_['mean_test_score'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "调整max_bin和colsample_bytree"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 149,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 45 candidates, totalling 225 fits\n",
      "[CV] colsample_bytree=0.5, max_bin=127 ...............................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  colsample_bytree=0.5, max_bin=127, score=-0.47475786787071383, total=  16.9s\n",
      "[CV] colsample_bytree=0.5, max_bin=127 ...............................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   1 out of   1 | elapsed:   20.2s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  colsample_bytree=0.5, max_bin=127, score=-0.475499751008556, total=  19.3s\n",
      "[CV] colsample_bytree=0.5, max_bin=127 ...............................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   2 out of   2 | elapsed:   45.0s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  colsample_bytree=0.5, max_bin=127, score=-0.48761978797695593, total=  24.4s\n",
      "[CV] colsample_bytree=0.5, max_bin=127 ...............................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   3 out of   3 | elapsed:  1.2min remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  colsample_bytree=0.5, max_bin=127, score=-0.47246922487486137, total=  19.2s\n",
      "[CV] colsample_bytree=0.5, max_bin=127 ...............................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   4 out of   4 | elapsed:  1.6min remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  colsample_bytree=0.5, max_bin=127, score=-0.4800583813915201, total=  19.0s\n",
      "[CV] colsample_bytree=0.5, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=143, score=-0.4780117400705373, total=  19.2s\n",
      "[CV] colsample_bytree=0.5, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=143, score=-0.4709954585087869, total=  20.0s\n",
      "[CV] colsample_bytree=0.5, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=143, score=-0.4890889372196822, total=  20.0s\n",
      "[CV] colsample_bytree=0.5, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=143, score=-0.46882222013640623, total=  19.6s\n",
      "[CV] colsample_bytree=0.5, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=143, score=-0.47798970556221065, total=  19.2s\n",
      "[CV] colsample_bytree=0.5, max_bin=159 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=159, score=-0.4751068664463451, total=  19.8s\n",
      "[CV] colsample_bytree=0.5, max_bin=159 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=159, score=-0.47792821911181593, total=  20.0s\n",
      "[CV] colsample_bytree=0.5, max_bin=159 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=159, score=-0.48785270099554995, total=  19.6s\n",
      "[CV] colsample_bytree=0.5, max_bin=159 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=159, score=-0.4744201689636557, total=  19.8s\n",
      "[CV] colsample_bytree=0.5, max_bin=159 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=159, score=-0.4791168307157182, total=  26.3s\n",
      "[CV] colsample_bytree=0.5, max_bin=175 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=175, score=-0.47699779877466425, total=  19.9s\n",
      "[CV] colsample_bytree=0.5, max_bin=175 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=175, score=-0.47287053711732724, total=  20.4s\n",
      "[CV] colsample_bytree=0.5, max_bin=175 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=175, score=-0.49075762191008143, total=  19.9s\n",
      "[CV] colsample_bytree=0.5, max_bin=175 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=175, score=-0.47291672772685744, total=  20.6s\n",
      "[CV] colsample_bytree=0.5, max_bin=175 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=175, score=-0.47963773243925184, total=  19.6s\n",
      "[CV] colsample_bytree=0.5, max_bin=191 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=191, score=-0.4772440697020664, total=  20.2s\n",
      "[CV] colsample_bytree=0.5, max_bin=191 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=191, score=-0.47454933773925057, total=  20.9s\n",
      "[CV] colsample_bytree=0.5, max_bin=191 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=191, score=-0.4884609839540984, total=  20.1s\n",
      "[CV] colsample_bytree=0.5, max_bin=191 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=191, score=-0.4707931045878541, total=  20.3s\n",
      "[CV] colsample_bytree=0.5, max_bin=191 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=191, score=-0.4798007621570979, total=  20.0s\n",
      "[CV] colsample_bytree=0.5, max_bin=207 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=207, score=-0.47816668941314694, total=  20.6s\n",
      "[CV] colsample_bytree=0.5, max_bin=207 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=207, score=-0.4757056213022816, total=  21.5s\n",
      "[CV] colsample_bytree=0.5, max_bin=207 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=207, score=-0.4878188081277727, total=  26.8s\n",
      "[CV] colsample_bytree=0.5, max_bin=207 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=207, score=-0.4726223389972921, total=  20.4s\n",
      "[CV] colsample_bytree=0.5, max_bin=207 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=207, score=-0.4775221027801604, total=  20.8s\n",
      "[CV] colsample_bytree=0.5, max_bin=223 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=223, score=-0.4783254866733449, total=  20.7s\n",
      "[CV] colsample_bytree=0.5, max_bin=223 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=223, score=-0.47541800388697775, total=  20.9s\n",
      "[CV] colsample_bytree=0.5, max_bin=223 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=223, score=-0.4896413443912853, total=  21.8s\n",
      "[CV] colsample_bytree=0.5, max_bin=223 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=223, score=-0.47427233566850424, total=  20.8s\n",
      "[CV] colsample_bytree=0.5, max_bin=223 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=223, score=-0.47860190289023324, total=  20.9s\n",
      "[CV] colsample_bytree=0.5, max_bin=239 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=239, score=-0.47690702861087064, total=  21.2s\n",
      "[CV] colsample_bytree=0.5, max_bin=239 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=239, score=-0.47563938664818123, total=  21.0s\n",
      "[CV] colsample_bytree=0.5, max_bin=239 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=239, score=-0.49179767860481144, total=  22.1s\n",
      "[CV] colsample_bytree=0.5, max_bin=239 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=239, score=-0.4739121827833087, total=  21.3s\n",
      "[CV] colsample_bytree=0.5, max_bin=239 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=239, score=-0.48065185147355954, total=  26.7s\n",
      "[CV] colsample_bytree=0.5, max_bin=255 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=255, score=-0.47671512025459534, total=  21.6s\n",
      "[CV] colsample_bytree=0.5, max_bin=255 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=255, score=-0.47632436881419976, total=  21.6s\n",
      "[CV] colsample_bytree=0.5, max_bin=255 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=255, score=-0.4885011299697204, total=  21.5s\n",
      "[CV] colsample_bytree=0.5, max_bin=255 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=255, score=-0.4755718135886888, total=  21.5s\n",
      "[CV] colsample_bytree=0.5, max_bin=255 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=255, score=-0.48041736477690344, total=  21.4s\n",
      "[CV] colsample_bytree=0.6, max_bin=127 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=127, score=-0.4787341736167845, total=  19.7s\n",
      "[CV] colsample_bytree=0.6, max_bin=127 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=127, score=-0.4745538555764714, total=  20.1s\n",
      "[CV] colsample_bytree=0.6, max_bin=127 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=127, score=-0.4908011830318462, total=  20.8s\n",
      "[CV] colsample_bytree=0.6, max_bin=127 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=127, score=-0.4712531117443506, total=  19.9s\n",
      "[CV] colsample_bytree=0.6, max_bin=127 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=127, score=-0.47726896126520707, total=  19.6s\n",
      "[CV] colsample_bytree=0.6, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=143, score=-0.4780265598694855, total=  21.2s\n",
      "[CV] colsample_bytree=0.6, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=143, score=-0.47235239929070716, total=  24.2s\n",
      "[CV] colsample_bytree=0.6, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=143, score=-0.48739575909564875, total=  21.1s\n",
      "[CV] colsample_bytree=0.6, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=143, score=-0.4720030163697611, total=  20.6s\n",
      "[CV] colsample_bytree=0.6, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=143, score=-0.47778935966193375, total=  20.2s\n",
      "[CV] colsample_bytree=0.6, max_bin=159 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=159, score=-0.47421890462681654, total=  20.4s\n",
      "[CV] colsample_bytree=0.6, max_bin=159 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=159, score=-0.4753748612503711, total=  21.1s\n",
      "[CV] colsample_bytree=0.6, max_bin=159 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=159, score=-0.48677790173945246, total=  20.4s\n",
      "[CV] colsample_bytree=0.6, max_bin=159 ...............................\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  colsample_bytree=0.6, max_bin=159, score=-0.47252877052100617, total=  20.9s\n",
      "[CV] colsample_bytree=0.6, max_bin=159 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=159, score=-0.4760495907808397, total=  20.5s\n",
      "[CV] colsample_bytree=0.6, max_bin=175 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=175, score=-0.47935412938651334, total=  21.2s\n",
      "[CV] colsample_bytree=0.6, max_bin=175 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=175, score=-0.4757224039452578, total=  21.3s\n",
      "[CV] colsample_bytree=0.6, max_bin=175 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=175, score=-0.4896412788128013, total=  22.6s\n",
      "[CV] colsample_bytree=0.6, max_bin=175 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=175, score=-0.4718847248188513, total=  24.6s\n",
      "[CV] colsample_bytree=0.6, max_bin=175 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=175, score=-0.4806242525632738, total=  20.9s\n",
      "[CV] colsample_bytree=0.6, max_bin=191 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=191, score=-0.47933365974765024, total=  21.5s\n",
      "[CV] colsample_bytree=0.6, max_bin=191 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=191, score=-0.47751256618954513, total=  22.8s\n",
      "[CV] colsample_bytree=0.6, max_bin=191 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=191, score=-0.49013834362192454, total=  21.4s\n",
      "[CV] colsample_bytree=0.6, max_bin=191 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=191, score=-0.4719215529775621, total=  21.4s\n",
      "[CV] colsample_bytree=0.6, max_bin=191 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=191, score=-0.48252685668064915, total=  21.4s\n",
      "[CV] colsample_bytree=0.6, max_bin=207 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=207, score=-0.4784313523768924, total=  21.9s\n",
      "[CV] colsample_bytree=0.6, max_bin=207 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=207, score=-0.4766202716193587, total=  21.9s\n",
      "[CV] colsample_bytree=0.6, max_bin=207 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=207, score=-0.4886712964483087, total=  22.1s\n",
      "[CV] colsample_bytree=0.6, max_bin=207 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=207, score=-0.4710558734396544, total=  23.1s\n",
      "[CV] colsample_bytree=0.6, max_bin=207 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=207, score=-0.4811650092161356, total=  26.5s\n",
      "[CV] colsample_bytree=0.6, max_bin=223 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=223, score=-0.4795897065721394, total=  22.5s\n",
      "[CV] colsample_bytree=0.6, max_bin=223 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=223, score=-0.4747748172215814, total=  22.4s\n",
      "[CV] colsample_bytree=0.6, max_bin=223 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=223, score=-0.4896375941087788, total=  22.2s\n",
      "[CV] colsample_bytree=0.6, max_bin=223 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=223, score=-0.4737387421716922, total=  22.5s\n",
      "[CV] colsample_bytree=0.6, max_bin=223 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=223, score=-0.47537399108055917, total=  22.4s\n",
      "[CV] colsample_bytree=0.6, max_bin=239 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=239, score=-0.4771600036676477, total=  22.6s\n",
      "[CV] colsample_bytree=0.6, max_bin=239 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=239, score=-0.4733427248109867, total=  22.7s\n",
      "[CV] colsample_bytree=0.6, max_bin=239 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=239, score=-0.4923335506932086, total=  30.2s\n",
      "[CV] colsample_bytree=0.6, max_bin=239 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=239, score=-0.47372648449951565, total=  23.7s\n",
      "[CV] colsample_bytree=0.6, max_bin=239 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=239, score=-0.479503648351112, total=  22.4s\n",
      "[CV] colsample_bytree=0.6, max_bin=255 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=255, score=-0.4756980224638843, total=  29.5s\n",
      "[CV] colsample_bytree=0.6, max_bin=255 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=255, score=-0.4736785185501117, total=  23.0s\n",
      "[CV] colsample_bytree=0.6, max_bin=255 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=255, score=-0.49094053355886036, total=  23.2s\n",
      "[CV] colsample_bytree=0.6, max_bin=255 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=255, score=-0.47178768161615886, total=  23.3s\n",
      "[CV] colsample_bytree=0.6, max_bin=255 ...............................\n",
      "[CV]  colsample_bytree=0.6, max_bin=255, score=-0.47509396915473673, total=  23.1s\n",
      "[CV] colsample_bytree=0.7, max_bin=127 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=127, score=-0.47828464122759073, total=  21.8s\n",
      "[CV] colsample_bytree=0.7, max_bin=127 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=127, score=-0.4744758399898364, total=  20.7s\n",
      "[CV] colsample_bytree=0.7, max_bin=127 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=127, score=-0.4867032057582754, total=  20.9s\n",
      "[CV] colsample_bytree=0.7, max_bin=127 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=127, score=-0.4716507328369341, total=  20.8s\n",
      "[CV] colsample_bytree=0.7, max_bin=127 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=127, score=-0.47585672500755005, total=  21.3s\n",
      "[CV] colsample_bytree=0.7, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=143, score=-0.4785565553968553, total=  21.2s\n",
      "[CV] colsample_bytree=0.7, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=143, score=-0.47383044831074467, total=  27.1s\n",
      "[CV] colsample_bytree=0.7, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=143, score=-0.4902511077621586, total=  22.2s\n",
      "[CV] colsample_bytree=0.7, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=143, score=-0.47046861942858575, total=  21.1s\n",
      "[CV] colsample_bytree=0.7, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=143, score=-0.47858244795792754, total=  21.0s\n",
      "[CV] colsample_bytree=0.7, max_bin=159 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=159, score=-0.4784626796124482, total=  21.4s\n",
      "[CV] colsample_bytree=0.7, max_bin=159 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=159, score=-0.4749996416829348, total=  24.7s\n",
      "[CV] colsample_bytree=0.7, max_bin=159 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=159, score=-0.4879228080282775, total=  21.8s\n",
      "[CV] colsample_bytree=0.7, max_bin=159 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=159, score=-0.47402430670768664, total=  22.2s\n",
      "[CV] colsample_bytree=0.7, max_bin=159 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=159, score=-0.4809831489201539, total=  22.0s\n",
      "[CV] colsample_bytree=0.7, max_bin=175 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=175, score=-0.47570115213606246, total=  22.9s\n",
      "[CV] colsample_bytree=0.7, max_bin=175 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=175, score=-0.47423055394547187, total=  22.8s\n",
      "[CV] colsample_bytree=0.7, max_bin=175 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=175, score=-0.49120387892060335, total=  27.9s\n",
      "[CV] colsample_bytree=0.7, max_bin=175 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=175, score=-0.4717694637319253, total=  22.4s\n",
      "[CV] colsample_bytree=0.7, max_bin=175 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=175, score=-0.47883718843950906, total=  23.9s\n",
      "[CV] colsample_bytree=0.7, max_bin=191 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=191, score=-0.4790038179839449, total=  22.8s\n",
      "[CV] colsample_bytree=0.7, max_bin=191 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=191, score=-0.4747237729488461, total=  22.9s\n",
      "[CV] colsample_bytree=0.7, max_bin=191 ...............................\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  colsample_bytree=0.7, max_bin=191, score=-0.4917961541704673, total=  22.7s\n",
      "[CV] colsample_bytree=0.7, max_bin=191 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=191, score=-0.47622463698519596, total=  24.7s\n",
      "[CV] colsample_bytree=0.7, max_bin=191 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=191, score=-0.4789204719072129, total=  25.5s\n",
      "[CV] colsample_bytree=0.7, max_bin=207 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=207, score=-0.47844231608023485, total=  25.1s\n",
      "[CV] colsample_bytree=0.7, max_bin=207 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=207, score=-0.47352729870095583, total=  25.0s\n",
      "[CV] colsample_bytree=0.7, max_bin=207 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=207, score=-0.4875008570028957, total=  30.3s\n",
      "[CV] colsample_bytree=0.7, max_bin=207 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=207, score=-0.47143014972414266, total=  23.5s\n",
      "[CV] colsample_bytree=0.7, max_bin=207 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=207, score=-0.4802370626246964, total=  23.2s\n",
      "[CV] colsample_bytree=0.7, max_bin=223 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=223, score=-0.4784783020569199, total=  24.0s\n",
      "[CV] colsample_bytree=0.7, max_bin=223 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=223, score=-0.47620024127260363, total=  25.3s\n",
      "[CV] colsample_bytree=0.7, max_bin=223 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=223, score=-0.4919686485914568, total=  23.9s\n",
      "[CV] colsample_bytree=0.7, max_bin=223 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=223, score=-0.47152846186144326, total=  23.7s\n",
      "[CV] colsample_bytree=0.7, max_bin=223 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=223, score=-0.4810461835085076, total=  23.8s\n",
      "[CV] colsample_bytree=0.7, max_bin=239 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=239, score=-0.4779962293234057, total=  24.5s\n",
      "[CV] colsample_bytree=0.7, max_bin=239 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=239, score=-0.47427446751303076, total=  24.1s\n",
      "[CV] colsample_bytree=0.7, max_bin=239 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=239, score=-0.4879856559293309, total=  24.5s\n",
      "[CV] colsample_bytree=0.7, max_bin=239 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=239, score=-0.4691001783239114, total=  29.8s\n",
      "[CV] colsample_bytree=0.7, max_bin=239 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=239, score=-0.47845554399141665, total=  21.5s\n",
      "[CV] colsample_bytree=0.7, max_bin=255 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=255, score=-0.4819139068391915, total=  21.9s\n",
      "[CV] colsample_bytree=0.7, max_bin=255 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=255, score=-0.47528966144376344, total=  22.2s\n",
      "[CV] colsample_bytree=0.7, max_bin=255 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=255, score=-0.4913080712073263, total=  21.9s\n",
      "[CV] colsample_bytree=0.7, max_bin=255 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=255, score=-0.47218829669269413, total=  22.2s\n",
      "[CV] colsample_bytree=0.7, max_bin=255 ...............................\n",
      "[CV]  colsample_bytree=0.7, max_bin=255, score=-0.477343990558741, total=  22.0s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=127 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=127, score=-0.47737143064447585, total=  19.6s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=127 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=127, score=-0.47455514851939545, total=  19.9s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=127 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=127, score=-0.4923684560503914, total=  19.6s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=127 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=127, score=-0.47152674019367347, total=  19.5s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=127 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=127, score=-0.4820246230912661, total=  19.5s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=143 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=143, score=-0.48090503095866616, total=  25.7s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=143 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=143, score=-0.4749311563927219, total=  22.9s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=143 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=143, score=-0.49022384806807806, total=  22.1s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=143 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=143, score=-0.4713378226090321, total=  22.4s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=143 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=143, score=-0.4768232792644727, total=  22.2s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=159 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=159, score=-0.4775887895602153, total=  22.8s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=159 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=159, score=-0.4750478588737859, total=  23.2s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=159 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=159, score=-0.4905137890548364, total=  22.8s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=159 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=159, score=-0.4736729066961252, total=  22.8s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=159 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=159, score=-0.4784855081799427, total=  22.8s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=175 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=175, score=-0.47940911958080323, total=  24.2s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=175 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=175, score=-0.47414766744689035, total=  29.2s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=175 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=175, score=-0.49140174996928554, total=  24.0s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=175 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=175, score=-0.4721391329789972, total=  23.2s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=175 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=175, score=-0.48113906452306116, total=  23.5s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=191 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=191, score=-0.4778276304702054, total=  24.0s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=191 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=191, score=-0.47859877427958597, total=  24.1s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=191 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=191, score=-0.4907796045708777, total=  23.6s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=191 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=191, score=-0.46986917117184224, total=  24.1s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=191 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=191, score=-0.4813641412613911, total=  24.2s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=207 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=207, score=-0.4799441663362716, total=  24.5s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=207 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=207, score=-0.4777077849454807, total=  25.0s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=207 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=207, score=-0.4881698228390975, total=  29.2s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=207 ................\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=207, score=-0.47452671288170883, total=  24.2s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=207 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=207, score=-0.48004368674090214, total=  24.3s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=223 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=223, score=-0.4812650289228091, total=  24.9s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=223 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=223, score=-0.4764612539142942, total=  25.9s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=223 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=223, score=-0.49088119113217993, total=  24.8s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=223 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=223, score=-0.47234893741085576, total=  25.3s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=223 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=223, score=-0.4802219600507702, total=  24.7s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=239 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=239, score=-0.4807199007556294, total=  25.4s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=239 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=239, score=-0.4749697074918681, total=  26.4s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=239 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=239, score=-0.49003257777329756, total=  30.8s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=239 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=239, score=-0.47047931100408263, total=  25.7s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=239 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=239, score=-0.48209409000296644, total=  25.7s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=255 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=255, score=-0.48120087042549886, total=  26.0s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=255 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=255, score=-0.4781149924808077, total=  27.6s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=255 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=255, score=-0.493588190015561, total=  25.9s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=255 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=255, score=-0.47182882260412545, total=  25.7s\n",
      "[CV] colsample_bytree=0.7999999999999999, max_bin=255 ................\n",
      "[CV]  colsample_bytree=0.7999999999999999, max_bin=255, score=-0.478243698649974, total=  26.0s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=127 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=127, score=-0.47731524804293896, total=  22.6s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=127 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=127, score=-0.47711491146215024, total=  22.5s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=127 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=127, score=-0.4923426664334251, total=  28.0s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=127 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=127, score=-0.46973652285364687, total=  23.3s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=127 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=127, score=-0.48006093596577853, total=  21.6s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=143 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=143, score=-0.476457772857259, total=  21.7s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=143 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=143, score=-0.4778848926692807, total=  25.3s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=143 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=143, score=-0.4907596504724747, total=  23.7s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=143 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=143, score=-0.4737293968882158, total=  23.5s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=143 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=143, score=-0.47980881678656595, total=  23.3s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=159 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=159, score=-0.4804977307839917, total=  24.0s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=159 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=159, score=-0.4778926706700242, total=  24.0s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=159 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=159, score=-0.48997545253563857, total=  26.8s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=159 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=159, score=-0.4746186344594038, total=  26.7s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=159 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=159, score=-0.48264126592262124, total=  23.8s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=175 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=175, score=-0.4800782277348101, total=  24.8s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=175 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=175, score=-0.47209147628970766, total=  24.9s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=175 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=175, score=-0.4931466504939042, total=  25.1s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=175 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=175, score=-0.4722121843496817, total=  24.2s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=175 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=175, score=-0.48162491892892284, total=  24.4s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=191 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=191, score=-0.48256992271071447, total=  25.3s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=191 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=191, score=-0.4793881576739601, total=  25.4s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=191 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=191, score=-0.49150414783582824, total=  25.2s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=191 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=191, score=-0.4739221304334386, total=  31.2s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=191 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=191, score=-0.4823158858712272, total=  25.3s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=207 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=207, score=-0.4818993731671286, total=  25.8s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=207 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=207, score=-0.4762118922686311, total=  26.1s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=207 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=207, score=-0.4911783600788562, total=  25.6s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=207 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=207, score=-0.47412042079628286, total=  25.8s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=207 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=207, score=-0.4820926238030082, total=  26.4s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=223 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=223, score=-0.4789668211891492, total=  26.2s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=223 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=223, score=-0.47644091934907307, total=  26.4s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=223 ................\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=223, score=-0.49081103912219204, total=  27.3s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=223 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=223, score=-0.47545666245382984, total=  30.8s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=223 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=223, score=-0.4825354560183399, total=  27.6s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=239 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=239, score=-0.4772276186290921, total=  26.9s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=239 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=239, score=-0.47461914369061986, total=  26.9s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=239 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=239, score=-0.48922572872671427, total=  27.2s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=239 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=239, score=-0.4698476709764363, total=  27.0s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=239 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=239, score=-0.47895872839226566, total=  27.8s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=255 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=255, score=-0.47697469986332175, total=  27.8s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=255 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=255, score=-0.4767738531912808, total=  27.8s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=255 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=255, score=-0.49123056041316876, total=  33.5s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=255 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=255, score=-0.47200910435532284, total=  27.8s\n",
      "[CV] colsample_bytree=0.8999999999999999, max_bin=255 ................\n",
      "[CV]  colsample_bytree=0.8999999999999999, max_bin=255, score=-0.48161690815526476, total=  29.2s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done 225 out of 225 | elapsed: 102.3min finished\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=StratifiedKFold(n_splits=5, random_state=5, shuffle=True),\n",
       "       error_score='raise-deprecating',\n",
       "       estimator=LGBMClassifier(boosting_type='goss', class_weight=None, colsample_bytree=0.7,\n",
       "        importance_type='split', learning_rate=0.1, max_bin=127,\n",
       "        max_depth=7, min_child_samples=40, min_child_weight=0.001,\n",
       "        min_split_gain=0.0, n_estimators=293, n_jobs=4, num_class=9,\n",
       "        num_leaves=65, objective='multiclass', random_state=None,\n",
       "        reg_alpha=0.0, reg_lambda=0.0, silent=False, subsample=1.0,\n",
       "        subsample_for_bin=200000, subsample_freq=0),\n",
       "       fit_params=None, iid='warn', n_jobs=None,\n",
       "       param_grid={'max_bin': range(127, 256, 16), 'colsample_bytree': array([0.5, 0.6, 0.7, 0.8, 0.9])},\n",
       "       pre_dispatch='2*n_jobs', refit=False, return_train_score='warn',\n",
       "       scoring='neg_log_loss', verbose=5)"
      ]
     },
     "execution_count": 149,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "params = {'boosting_type': 'goss',\n",
    "          'objective': 'multiclass',\n",
    "          'n_jobs': 4,\n",
    "          'num_class':9,\n",
    "          'learning_rate': 0.1,\n",
    "          'num_leaves': 65,\n",
    "          'max_depth': 7,\n",
    "          'n_estimators':293,\n",
    "          'max_bin': 127, \n",
    "          'colsample_bytree': 0.7,\n",
    "          'min_child_samples':40,\n",
    "         }\n",
    "tuned_params = dict(max_bin=range(127,256,16),colsample_bytree=np.arange(0.5,1.0,0.1))\n",
    "lgc = LGBMClassifier(silent=False,**params)\n",
    "gc = GridSearchCV(lgc,tuned_params,scoring='neg_log_loss',verbose=5,cv=kfold,refit=False)\n",
    "gc.fit(X,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 150,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'colsample_bytree': 0.5, 'max_bin': 143} -0.47698146739560787\n"
     ]
    }
   ],
   "source": [
    "print(gc.best_params_,gc.best_score_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 151,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([-0.47808069, -0.47698147, -0.4788848 , -0.47863586, -0.47816943,\n",
       "       -0.47836713, -0.47925178, -0.4797814 , -0.47950574, -0.4785223 ,\n",
       "       -0.47751333, -0.47698997, -0.4794452 , -0.48028634, -0.47918853,\n",
       "       -0.4786232 , -0.4792131 , -0.47743982, -0.47739433, -0.47833775,\n",
       "       -0.47927828, -0.47834826, -0.48013374, -0.47822731, -0.47984417,\n",
       "       -0.4775623 , -0.47960897, -0.47956893, -0.47884439, -0.4790617 ,\n",
       "       -0.47964713, -0.47968765, -0.48007839, -0.48023565, -0.47965888,\n",
       "       -0.48059548, -0.4793139 , -0.47972796, -0.48112496, -0.47983043,\n",
       "       -0.48194   , -0.4811004 , -0.48084191, -0.47797562, -0.47972074])"
      ]
     },
     "execution_count": 151,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "gc.cv_results_['mean_test_score']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "再调整列采样"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 153,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 5 candidates, totalling 25 fits\n",
      "[CV] colsample_bytree=0.1, max_bin=143 ...............................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  colsample_bytree=0.1, max_bin=143, score=-0.49846036070313293, total=  13.6s\n",
      "[CV] colsample_bytree=0.1, max_bin=143 ...............................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   1 out of   1 | elapsed:   16.9s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  colsample_bytree=0.1, max_bin=143, score=-0.4979198716618819, total=  12.6s\n",
      "[CV] colsample_bytree=0.1, max_bin=143 ...............................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   2 out of   2 | elapsed:   32.9s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  colsample_bytree=0.1, max_bin=143, score=-0.5084970611270541, total=  12.5s\n",
      "[CV] colsample_bytree=0.1, max_bin=143 ...............................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   3 out of   3 | elapsed:   48.8s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  colsample_bytree=0.1, max_bin=143, score=-0.49390006163325423, total=  12.4s\n",
      "[CV] colsample_bytree=0.1, max_bin=143 ...............................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   4 out of   4 | elapsed:  1.1min remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  colsample_bytree=0.1, max_bin=143, score=-0.5013004431675798, total=  12.4s\n",
      "[CV] colsample_bytree=0.2, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.2, max_bin=143, score=-0.48345510192749175, total=  13.4s\n",
      "[CV] colsample_bytree=0.2, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.2, max_bin=143, score=-0.47910389806184245, total=  13.4s\n",
      "[CV] colsample_bytree=0.2, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.2, max_bin=143, score=-0.4936505470230868, total=  13.4s\n",
      "[CV] colsample_bytree=0.2, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.2, max_bin=143, score=-0.4797367395089281, total=  13.5s\n",
      "[CV] colsample_bytree=0.2, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.2, max_bin=143, score=-0.48869868048050963, total=  13.3s\n",
      "[CV] colsample_bytree=0.30000000000000004, max_bin=143 ...............\n",
      "[CV]  colsample_bytree=0.30000000000000004, max_bin=143, score=-0.48106932018850285, total=  14.2s\n",
      "[CV] colsample_bytree=0.30000000000000004, max_bin=143 ...............\n",
      "[CV]  colsample_bytree=0.30000000000000004, max_bin=143, score=-0.4768154365422032, total=  14.2s\n",
      "[CV] colsample_bytree=0.30000000000000004, max_bin=143 ...............\n",
      "[CV]  colsample_bytree=0.30000000000000004, max_bin=143, score=-0.48945647931338826, total=  14.2s\n",
      "[CV] colsample_bytree=0.30000000000000004, max_bin=143 ...............\n",
      "[CV]  colsample_bytree=0.30000000000000004, max_bin=143, score=-0.47568226852305906, total=  14.4s\n",
      "[CV] colsample_bytree=0.30000000000000004, max_bin=143 ...............\n",
      "[CV]  colsample_bytree=0.30000000000000004, max_bin=143, score=-0.4808673696724908, total=  14.0s\n",
      "[CV] colsample_bytree=0.4, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.4, max_bin=143, score=-0.4806670347058863, total=  15.1s\n",
      "[CV] colsample_bytree=0.4, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.4, max_bin=143, score=-0.47494360070535435, total=  19.3s\n",
      "[CV] colsample_bytree=0.4, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.4, max_bin=143, score=-0.48739141253128804, total=  15.1s\n",
      "[CV] colsample_bytree=0.4, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.4, max_bin=143, score=-0.46893775177960434, total=  15.0s\n",
      "[CV] colsample_bytree=0.4, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.4, max_bin=143, score=-0.4825610528598191, total=  14.9s\n",
      "[CV] colsample_bytree=0.5, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=143, score=-0.4780117400705373, total=  15.8s\n",
      "[CV] colsample_bytree=0.5, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=143, score=-0.4709954585087869, total=  16.5s\n",
      "[CV] colsample_bytree=0.5, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=143, score=-0.4890889372196822, total=  15.8s\n",
      "[CV] colsample_bytree=0.5, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=143, score=-0.46882222013640623, total=  20.3s\n",
      "[CV] colsample_bytree=0.5, max_bin=143 ...............................\n",
      "[CV]  colsample_bytree=0.5, max_bin=143, score=-0.47798970556221065, total=  20.8s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done  25 out of  25 | elapsed:  7.6min finished\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=StratifiedKFold(n_splits=5, random_state=5, shuffle=True),\n",
       "       error_score='raise-deprecating',\n",
       "       estimator=LGBMClassifier(boosting_type='goss', class_weight=None, colsample_bytree=0.7,\n",
       "        importance_type='split', learning_rate=0.1, max_bin=127,\n",
       "        max_depth=7, min_child_samples=40, min_child_weight=0.001,\n",
       "        min_split_gain=0.0, n_estimators=293, n_jobs=4, num_class=9,\n",
       "        num_leaves=65, objective='multiclass', random_state=None,\n",
       "        reg_alpha=0.0, reg_lambda=0.0, silent=False, subsample=1.0,\n",
       "        subsample_for_bin=200000, subsample_freq=0),\n",
       "       fit_params=None, iid='warn', n_jobs=None,\n",
       "       param_grid={'max_bin': [143], 'colsample_bytree': array([0.1, 0.2, 0.3, 0.4, 0.5])},\n",
       "       pre_dispatch='2*n_jobs', refit=False, return_train_score='warn',\n",
       "       scoring='neg_log_loss', verbose=5)"
      ]
     },
     "execution_count": 153,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tuned_params = dict(max_bin=[143],colsample_bytree=np.arange(0.1,0.6,0.1))\n",
    "gc = GridSearchCV(lgc,tuned_params,scoring='neg_log_loss',verbose=5,cv=kfold,refit=False)\n",
    "gc.fit(X,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 154,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'colsample_bytree': 0.5, 'max_bin': 143} [-0.50001537 -0.48492855 -0.48077811 -0.47889987 -0.47698147]\n"
     ]
    }
   ],
   "source": [
    "print(gc.best_params_,gc.cv_results_['mean_test_score'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "确定好参数后，调整正则项，同样，将模型稍微调复杂些，再进行正则"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 156,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 36 candidates, totalling 180 fits\n",
      "[CV] reg_alpha=0.001, reg_lambda=0.001 ...............................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  reg_alpha=0.001, reg_lambda=0.001, score=-0.47581244006019324, total=  17.3s\n",
      "[CV] reg_alpha=0.001, reg_lambda=0.001 ...............................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   1 out of   1 | elapsed:   20.5s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  reg_alpha=0.001, reg_lambda=0.001, score=-0.4740094297261573, total=  19.0s\n",
      "[CV] reg_alpha=0.001, reg_lambda=0.001 ...............................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   2 out of   2 | elapsed:   43.3s remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  reg_alpha=0.001, reg_lambda=0.001, score=-0.4882266235697058, total=  21.8s\n",
      "[CV] reg_alpha=0.001, reg_lambda=0.001 ...............................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   3 out of   3 | elapsed:  1.1min remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  reg_alpha=0.001, reg_lambda=0.001, score=-0.46989814161656734, total=  17.2s\n",
      "[CV] reg_alpha=0.001, reg_lambda=0.001 ...............................\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done   4 out of   4 | elapsed:  1.5min remaining:    0.0s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  reg_alpha=0.001, reg_lambda=0.001, score=-0.47558435188746734, total=  17.0s\n",
      "[CV] reg_alpha=0.001, reg_lambda=0.01 ................................\n",
      "[CV]  reg_alpha=0.001, reg_lambda=0.01, score=-0.47674207758808396, total=  17.2s\n",
      "[CV] reg_alpha=0.001, reg_lambda=0.01 ................................\n",
      "[CV]  reg_alpha=0.001, reg_lambda=0.01, score=-0.4758702014920171, total=  17.5s\n",
      "[CV] reg_alpha=0.001, reg_lambda=0.01 ................................\n",
      "[CV]  reg_alpha=0.001, reg_lambda=0.01, score=-0.4878897534304562, total=  17.0s\n",
      "[CV] reg_alpha=0.001, reg_lambda=0.01 ................................\n",
      "[CV]  reg_alpha=0.001, reg_lambda=0.01, score=-0.47224929680311556, total=  17.2s\n",
      "[CV] reg_alpha=0.001, reg_lambda=0.01 ................................\n",
      "[CV]  reg_alpha=0.001, reg_lambda=0.01, score=-0.4755771037085493, total=  17.0s\n",
      "[CV] reg_alpha=0.001, reg_lambda=0.1 .................................\n",
      "[CV]  reg_alpha=0.001, reg_lambda=0.1, score=-0.47301790145614053, total=  17.0s\n",
      "[CV] reg_alpha=0.001, reg_lambda=0.1 .................................\n",
      "[CV]  reg_alpha=0.001, reg_lambda=0.1, score=-0.4734900803785847, total=  17.5s\n",
      "[CV] reg_alpha=0.001, reg_lambda=0.1 .................................\n",
      "[CV]  reg_alpha=0.001, reg_lambda=0.1, score=-0.48519783731734684, total=  16.9s\n",
      "[CV] reg_alpha=0.001, reg_lambda=0.1 .................................\n",
      "[CV]  reg_alpha=0.001, reg_lambda=0.1, score=-0.4724222139479511, total=  16.8s\n",
      "[CV] reg_alpha=0.001, reg_lambda=0.1 .................................\n",
      "[CV]  reg_alpha=0.001, reg_lambda=0.1, score=-0.4760341785513112, total=  17.1s\n",
      "[CV] reg_alpha=0.001, reg_lambda=1 ...................................\n",
      "[CV]  reg_alpha=0.001, reg_lambda=1, score=-0.477418980728114, total=  16.7s\n",
      "[CV] reg_alpha=0.001, reg_lambda=1 ...................................\n",
      "[CV]  reg_alpha=0.001, reg_lambda=1, score=-0.46978947353799394, total=  16.8s\n",
      "[CV] reg_alpha=0.001, reg_lambda=1 ...................................\n",
      "[CV]  reg_alpha=0.001, reg_lambda=1, score=-0.48635773069400073, total=  22.7s\n",
      "[CV] reg_alpha=0.001, reg_lambda=1 ...................................\n",
      "[CV]  reg_alpha=0.001, reg_lambda=1, score=-0.46848883990545964, total=  16.7s\n",
      "[CV] reg_alpha=0.001, reg_lambda=1 ...................................\n",
      "[CV]  reg_alpha=0.001, reg_lambda=1, score=-0.4780400651640018, total=  16.5s\n",
      "[CV] reg_alpha=0.001, reg_lambda=10 ..................................\n",
      "[CV]  reg_alpha=0.001, reg_lambda=10, score=-0.47728349817430205, total=  16.6s\n",
      "[CV] reg_alpha=0.001, reg_lambda=10 ..................................\n",
      "[CV]  reg_alpha=0.001, reg_lambda=10, score=-0.47235601571128893, total=  16.9s\n",
      "[CV] reg_alpha=0.001, reg_lambda=10 ..................................\n",
      "[CV]  reg_alpha=0.001, reg_lambda=10, score=-0.48679176637934235, total=  16.5s\n",
      "[CV] reg_alpha=0.001, reg_lambda=10 ..................................\n",
      "[CV]  reg_alpha=0.001, reg_lambda=10, score=-0.47186230822082886, total=  17.0s\n",
      "[CV] reg_alpha=0.001, reg_lambda=10 ..................................\n",
      "[CV]  reg_alpha=0.001, reg_lambda=10, score=-0.47772166312837916, total=  16.8s\n",
      "[CV] reg_alpha=0.001, reg_lambda=100 .................................\n",
      "[CV]  reg_alpha=0.001, reg_lambda=100, score=-0.4912442993692053, total=  17.2s\n",
      "[CV] reg_alpha=0.001, reg_lambda=100 .................................\n",
      "[CV]  reg_alpha=0.001, reg_lambda=100, score=-0.48857234986813175, total=  17.5s\n",
      "[CV] reg_alpha=0.001, reg_lambda=100 .................................\n",
      "[CV]  reg_alpha=0.001, reg_lambda=100, score=-0.5004263493361132, total=  17.3s\n",
      "[CV] reg_alpha=0.001, reg_lambda=100 .................................\n",
      "[CV]  reg_alpha=0.001, reg_lambda=100, score=-0.4858904801379988, total=  17.2s\n",
      "[CV] reg_alpha=0.001, reg_lambda=100 .................................\n",
      "[CV]  reg_alpha=0.001, reg_lambda=100, score=-0.49368309601897364, total=  17.7s\n",
      "[CV] reg_alpha=0.01, reg_lambda=0.001 ................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=0.001, score=-0.47479891024106635, total=  17.1s\n",
      "[CV] reg_alpha=0.01, reg_lambda=0.001 ................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=0.001, score=-0.47084873034683744, total=  23.0s\n",
      "[CV] reg_alpha=0.01, reg_lambda=0.001 ................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=0.001, score=-0.4871319552679171, total=  17.2s\n",
      "[CV] reg_alpha=0.01, reg_lambda=0.001 ................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=0.001, score=-0.47051409944700584, total=  16.9s\n",
      "[CV] reg_alpha=0.01, reg_lambda=0.001 ................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=0.001, score=-0.4782097667972198, total=  16.9s\n",
      "[CV] reg_alpha=0.01, reg_lambda=0.01 .................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=0.01, score=-0.4791577375593104, total=  17.0s\n",
      "[CV] reg_alpha=0.01, reg_lambda=0.01 .................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=0.01, score=-0.4731015276808876, total=  17.2s\n",
      "[CV] reg_alpha=0.01, reg_lambda=0.01 .................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=0.01, score=-0.4873642980363902, total=  17.0s\n",
      "[CV] reg_alpha=0.01, reg_lambda=0.01 .................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=0.01, score=-0.4728098322319908, total=  17.0s\n",
      "[CV] reg_alpha=0.01, reg_lambda=0.01 .................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=0.01, score=-0.4772526111268222, total=  16.9s\n",
      "[CV] reg_alpha=0.01, reg_lambda=0.1 ..................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=0.1, score=-0.4765375738341437, total=  16.8s\n",
      "[CV] reg_alpha=0.01, reg_lambda=0.1 ..................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=0.1, score=-0.4710132091991591, total=  17.1s\n",
      "[CV] reg_alpha=0.01, reg_lambda=0.1 ..................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=0.1, score=-0.49216878850360535, total=  16.9s\n",
      "[CV] reg_alpha=0.01, reg_lambda=0.1 ..................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=0.1, score=-0.4725419896475519, total=  17.0s\n",
      "[CV] reg_alpha=0.01, reg_lambda=0.1 ..................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=0.1, score=-0.4803454569873598, total=  16.7s\n",
      "[CV] reg_alpha=0.01, reg_lambda=1 ....................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=1, score=-0.47818583812592436, total=  16.6s\n",
      "[CV] reg_alpha=0.01, reg_lambda=1 ....................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=1, score=-0.4719725004609108, total=  23.2s\n",
      "[CV] reg_alpha=0.01, reg_lambda=1 ....................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=1, score=-0.4866095663554098, total=  16.6s\n",
      "[CV] reg_alpha=0.01, reg_lambda=1 ....................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=1, score=-0.4717493149029038, total=  16.6s\n",
      "[CV] reg_alpha=0.01, reg_lambda=1 ....................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=1, score=-0.4766211403171834, total=  16.5s\n",
      "[CV] reg_alpha=0.01, reg_lambda=10 ...................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=10, score=-0.4786634933731936, total=  16.6s\n",
      "[CV] reg_alpha=0.01, reg_lambda=10 ...................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=10, score=-0.4714588468017387, total=  17.1s\n",
      "[CV] reg_alpha=0.01, reg_lambda=10 ...................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=10, score=-0.4841393763502262, total=  17.1s\n",
      "[CV] reg_alpha=0.01, reg_lambda=10 ...................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=10, score=-0.4716821601643681, total=  16.8s\n",
      "[CV] reg_alpha=0.01, reg_lambda=10 ...................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=10, score=-0.4779654163152489, total=  16.6s\n",
      "[CV] reg_alpha=0.01, reg_lambda=100 ..................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=100, score=-0.48989384560294635, total=  17.6s\n",
      "[CV] reg_alpha=0.01, reg_lambda=100 ..................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=100, score=-0.4875470140399752, total=  17.4s\n",
      "[CV] reg_alpha=0.01, reg_lambda=100 ..................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=100, score=-0.49965892276417934, total=  17.2s\n",
      "[CV] reg_alpha=0.01, reg_lambda=100 ..................................\n",
      "[CV]  reg_alpha=0.01, reg_lambda=100, score=-0.48617068028472754, total=  17.7s\n",
      "[CV] reg_alpha=0.01, reg_lambda=100 ..................................\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  reg_alpha=0.01, reg_lambda=100, score=-0.4922107156073552, total=  17.2s\n",
      "[CV] reg_alpha=0.1, reg_lambda=0.001 .................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=0.001, score=-0.4776612072282626, total=  22.8s\n",
      "[CV] reg_alpha=0.1, reg_lambda=0.001 .................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=0.001, score=-0.47392027504363565, total=  17.0s\n",
      "[CV] reg_alpha=0.1, reg_lambda=0.001 .................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=0.001, score=-0.48755749341645904, total=  16.6s\n",
      "[CV] reg_alpha=0.1, reg_lambda=0.001 .................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=0.001, score=-0.46930149684980316, total=  16.6s\n",
      "[CV] reg_alpha=0.1, reg_lambda=0.001 .................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=0.001, score=-0.4792933831503748, total=  17.0s\n",
      "[CV] reg_alpha=0.1, reg_lambda=0.01 ..................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=0.01, score=-0.4761187425377652, total=  16.7s\n",
      "[CV] reg_alpha=0.1, reg_lambda=0.01 ..................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=0.01, score=-0.4730880439094405, total=  17.1s\n",
      "[CV] reg_alpha=0.1, reg_lambda=0.01 ..................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=0.01, score=-0.4908916998444621, total=  16.6s\n",
      "[CV] reg_alpha=0.1, reg_lambda=0.01 ..................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=0.01, score=-0.4709983244499351, total=  16.7s\n",
      "[CV] reg_alpha=0.1, reg_lambda=0.01 ..................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=0.01, score=-0.477783163011526, total=  16.7s\n",
      "[CV] reg_alpha=0.1, reg_lambda=0.1 ...................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=0.1, score=-0.47782587821405115, total=  17.0s\n",
      "[CV] reg_alpha=0.1, reg_lambda=0.1 ...................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=0.1, score=-0.4747582477016686, total=  16.9s\n",
      "[CV] reg_alpha=0.1, reg_lambda=0.1 ...................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=0.1, score=-0.4865638059951196, total=  16.7s\n",
      "[CV] reg_alpha=0.1, reg_lambda=0.1 ...................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=0.1, score=-0.47309799180704076, total=  16.6s\n",
      "[CV] reg_alpha=0.1, reg_lambda=0.1 ...................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=0.1, score=-0.47609971567150255, total=  16.6s\n",
      "[CV] reg_alpha=0.1, reg_lambda=1 .....................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=1, score=-0.4769925213095472, total=  22.5s\n",
      "[CV] reg_alpha=0.1, reg_lambda=1 .....................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=1, score=-0.47277644192772356, total=  16.9s\n",
      "[CV] reg_alpha=0.1, reg_lambda=1 .....................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=1, score=-0.48820055450370115, total=  16.5s\n",
      "[CV] reg_alpha=0.1, reg_lambda=1 .....................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=1, score=-0.4681166134783473, total=  16.5s\n",
      "[CV] reg_alpha=0.1, reg_lambda=1 .....................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=1, score=-0.4772145272214844, total=  16.4s\n",
      "[CV] reg_alpha=0.1, reg_lambda=10 ....................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=10, score=-0.4770148164254807, total=  16.6s\n",
      "[CV] reg_alpha=0.1, reg_lambda=10 ....................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=10, score=-0.472607581932969, total=  16.9s\n",
      "[CV] reg_alpha=0.1, reg_lambda=10 ....................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=10, score=-0.48770589096908046, total=  16.6s\n",
      "[CV] reg_alpha=0.1, reg_lambda=10 ....................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=10, score=-0.4725373575053592, total=  16.6s\n",
      "[CV] reg_alpha=0.1, reg_lambda=10 ....................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=10, score=-0.4783189404394016, total=  16.7s\n",
      "[CV] reg_alpha=0.1, reg_lambda=100 ...................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=100, score=-0.4914300251211651, total=  17.2s\n",
      "[CV] reg_alpha=0.1, reg_lambda=100 ...................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=100, score=-0.48777212334445347, total=  17.4s\n",
      "[CV] reg_alpha=0.1, reg_lambda=100 ...................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=100, score=-0.5000289835744695, total=  17.2s\n",
      "[CV] reg_alpha=0.1, reg_lambda=100 ...................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=100, score=-0.4854421407834119, total=  17.2s\n",
      "[CV] reg_alpha=0.1, reg_lambda=100 ...................................\n",
      "[CV]  reg_alpha=0.1, reg_lambda=100, score=-0.49283473867021943, total=  17.1s\n",
      "[CV] reg_alpha=1, reg_lambda=0.001 ...................................\n",
      "[CV]  reg_alpha=1, reg_lambda=0.001, score=-0.47648828107411995, total=  21.4s\n",
      "[CV] reg_alpha=1, reg_lambda=0.001 ...................................\n",
      "[CV]  reg_alpha=1, reg_lambda=0.001, score=-0.46963411715654835, total=  16.7s\n",
      "[CV] reg_alpha=1, reg_lambda=0.001 ...................................\n",
      "[CV]  reg_alpha=1, reg_lambda=0.001, score=-0.4835225541679443, total=  16.2s\n",
      "[CV] reg_alpha=1, reg_lambda=0.001 ...................................\n",
      "[CV]  reg_alpha=1, reg_lambda=0.001, score=-0.4705380288151845, total=  16.7s\n",
      "[CV] reg_alpha=1, reg_lambda=0.001 ...................................\n",
      "[CV]  reg_alpha=1, reg_lambda=0.001, score=-0.4743793765402095, total=  16.3s\n",
      "[CV] reg_alpha=1, reg_lambda=0.01 ....................................\n",
      "[CV]  reg_alpha=1, reg_lambda=0.01, score=-0.47372770634677697, total=  16.3s\n",
      "[CV] reg_alpha=1, reg_lambda=0.01 ....................................\n",
      "[CV]  reg_alpha=1, reg_lambda=0.01, score=-0.47108609622026587, total=  16.7s\n",
      "[CV] reg_alpha=1, reg_lambda=0.01 ....................................\n",
      "[CV]  reg_alpha=1, reg_lambda=0.01, score=-0.4843119643025131, total=  16.4s\n",
      "[CV] reg_alpha=1, reg_lambda=0.01 ....................................\n",
      "[CV]  reg_alpha=1, reg_lambda=0.01, score=-0.4702866083699487, total=  16.2s\n",
      "[CV] reg_alpha=1, reg_lambda=0.01 ....................................\n",
      "[CV]  reg_alpha=1, reg_lambda=0.01, score=-0.475879696784202, total=  16.7s\n",
      "[CV] reg_alpha=1, reg_lambda=0.1 .....................................\n",
      "[CV]  reg_alpha=1, reg_lambda=0.1, score=-0.47463473982610355, total=  16.5s\n",
      "[CV] reg_alpha=1, reg_lambda=0.1 .....................................\n",
      "[CV]  reg_alpha=1, reg_lambda=0.1, score=-0.46981052443660454, total=  16.8s\n",
      "[CV] reg_alpha=1, reg_lambda=0.1 .....................................\n",
      "[CV]  reg_alpha=1, reg_lambda=0.1, score=-0.48703717222144044, total=  16.5s\n",
      "[CV] reg_alpha=1, reg_lambda=0.1 .....................................\n",
      "[CV]  reg_alpha=1, reg_lambda=0.1, score=-0.4710088546575944, total=  16.2s\n",
      "[CV] reg_alpha=1, reg_lambda=0.1 .....................................\n",
      "[CV]  reg_alpha=1, reg_lambda=0.1, score=-0.4758380667751515, total=  16.2s\n",
      "[CV] reg_alpha=1, reg_lambda=1 .......................................\n",
      "[CV]  reg_alpha=1, reg_lambda=1, score=-0.47491913486476894, total=  21.2s\n",
      "[CV] reg_alpha=1, reg_lambda=1 .......................................\n",
      "[CV]  reg_alpha=1, reg_lambda=1, score=-0.47088511967403457, total=  16.6s\n",
      "[CV] reg_alpha=1, reg_lambda=1 .......................................\n",
      "[CV]  reg_alpha=1, reg_lambda=1, score=-0.4851546643638007, total=  16.3s\n",
      "[CV] reg_alpha=1, reg_lambda=1 .......................................\n",
      "[CV]  reg_alpha=1, reg_lambda=1, score=-0.47205098872711554, total=  16.5s\n",
      "[CV] reg_alpha=1, reg_lambda=1 .......................................\n",
      "[CV]  reg_alpha=1, reg_lambda=1, score=-0.4777400484409357, total=  16.4s\n",
      "[CV] reg_alpha=1, reg_lambda=10 ......................................\n",
      "[CV]  reg_alpha=1, reg_lambda=10, score=-0.4782143134952605, total=  17.0s\n",
      "[CV] reg_alpha=1, reg_lambda=10 ......................................\n",
      "[CV]  reg_alpha=1, reg_lambda=10, score=-0.47269682166148297, total=  17.4s\n",
      "[CV] reg_alpha=1, reg_lambda=10 ......................................\n",
      "[CV]  reg_alpha=1, reg_lambda=10, score=-0.4854616361136133, total=  16.7s\n",
      "[CV] reg_alpha=1, reg_lambda=10 ......................................\n",
      "[CV]  reg_alpha=1, reg_lambda=10, score=-0.47065231707599603, total=  16.6s\n",
      "[CV] reg_alpha=1, reg_lambda=10 ......................................\n",
      "[CV]  reg_alpha=1, reg_lambda=10, score=-0.4774875634198555, total=  19.0s\n",
      "[CV] reg_alpha=1, reg_lambda=100 .....................................\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  reg_alpha=1, reg_lambda=100, score=-0.4930145239452909, total=  17.6s\n",
      "[CV] reg_alpha=1, reg_lambda=100 .....................................\n",
      "[CV]  reg_alpha=1, reg_lambda=100, score=-0.48928473746710865, total=  17.5s\n",
      "[CV] reg_alpha=1, reg_lambda=100 .....................................\n",
      "[CV]  reg_alpha=1, reg_lambda=100, score=-0.5007535345272858, total=  17.7s\n",
      "[CV] reg_alpha=1, reg_lambda=100 .....................................\n",
      "[CV]  reg_alpha=1, reg_lambda=100, score=-0.4867381489587051, total=  17.2s\n",
      "[CV] reg_alpha=1, reg_lambda=100 .....................................\n",
      "[CV]  reg_alpha=1, reg_lambda=100, score=-0.495725442792612, total=  23.3s\n",
      "[CV] reg_alpha=10, reg_lambda=0.001 ..................................\n",
      "[CV]  reg_alpha=10, reg_lambda=0.001, score=-0.483276268630917, total=  16.6s\n",
      "[CV] reg_alpha=10, reg_lambda=0.001 ..................................\n",
      "[CV]  reg_alpha=10, reg_lambda=0.001, score=-0.4808128297563126, total=  16.7s\n",
      "[CV] reg_alpha=10, reg_lambda=0.001 ..................................\n",
      "[CV]  reg_alpha=10, reg_lambda=0.001, score=-0.4927673704625026, total=  16.1s\n",
      "[CV] reg_alpha=10, reg_lambda=0.001 ..................................\n",
      "[CV]  reg_alpha=10, reg_lambda=0.001, score=-0.4784823090193342, total=  16.0s\n",
      "[CV] reg_alpha=10, reg_lambda=0.001 ..................................\n",
      "[CV]  reg_alpha=10, reg_lambda=0.001, score=-0.4873616060285982, total=  15.9s\n",
      "[CV] reg_alpha=10, reg_lambda=0.01 ...................................\n",
      "[CV]  reg_alpha=10, reg_lambda=0.01, score=-0.484431706817435, total=  16.1s\n",
      "[CV] reg_alpha=10, reg_lambda=0.01 ...................................\n",
      "[CV]  reg_alpha=10, reg_lambda=0.01, score=-0.4801086760644216, total=  16.6s\n",
      "[CV] reg_alpha=10, reg_lambda=0.01 ...................................\n",
      "[CV]  reg_alpha=10, reg_lambda=0.01, score=-0.492663234422978, total=  15.9s\n",
      "[CV] reg_alpha=10, reg_lambda=0.01 ...................................\n",
      "[CV]  reg_alpha=10, reg_lambda=0.01, score=-0.48241273060153217, total=  16.0s\n",
      "[CV] reg_alpha=10, reg_lambda=0.01 ...................................\n",
      "[CV]  reg_alpha=10, reg_lambda=0.01, score=-0.4865765599361689, total=  16.4s\n",
      "[CV] reg_alpha=10, reg_lambda=0.1 ....................................\n",
      "[CV]  reg_alpha=10, reg_lambda=0.1, score=-0.4868157696414977, total=  16.2s\n",
      "[CV] reg_alpha=10, reg_lambda=0.1 ....................................\n",
      "[CV]  reg_alpha=10, reg_lambda=0.1, score=-0.47836653011251673, total=  16.4s\n",
      "[CV] reg_alpha=10, reg_lambda=0.1 ....................................\n",
      "[CV]  reg_alpha=10, reg_lambda=0.1, score=-0.49213204378802866, total=  16.0s\n",
      "[CV] reg_alpha=10, reg_lambda=0.1 ....................................\n",
      "[CV]  reg_alpha=10, reg_lambda=0.1, score=-0.47802489100700024, total=  16.1s\n",
      "[CV] reg_alpha=10, reg_lambda=0.1 ....................................\n",
      "[CV]  reg_alpha=10, reg_lambda=0.1, score=-0.4861999181407155, total=  22.0s\n",
      "[CV] reg_alpha=10, reg_lambda=1 ......................................\n",
      "[CV]  reg_alpha=10, reg_lambda=1, score=-0.48554964239036824, total=  16.8s\n",
      "[CV] reg_alpha=10, reg_lambda=1 ......................................\n",
      "[CV]  reg_alpha=10, reg_lambda=1, score=-0.47943163751295187, total=  16.2s\n",
      "[CV] reg_alpha=10, reg_lambda=1 ......................................\n",
      "[CV]  reg_alpha=10, reg_lambda=1, score=-0.49242614089156334, total=  16.1s\n",
      "[CV] reg_alpha=10, reg_lambda=1 ......................................\n",
      "[CV]  reg_alpha=10, reg_lambda=1, score=-0.47730958701017734, total=  19.6s\n",
      "[CV] reg_alpha=10, reg_lambda=1 ......................................\n",
      "[CV]  reg_alpha=10, reg_lambda=1, score=-0.48395590645808034, total=  16.1s\n",
      "[CV] reg_alpha=10, reg_lambda=10 .....................................\n",
      "[CV]  reg_alpha=10, reg_lambda=10, score=-0.4850704986296624, total=  16.8s\n",
      "[CV] reg_alpha=10, reg_lambda=10 .....................................\n",
      "[CV]  reg_alpha=10, reg_lambda=10, score=-0.4813925433971161, total=  17.2s\n",
      "[CV] reg_alpha=10, reg_lambda=10 .....................................\n",
      "[CV]  reg_alpha=10, reg_lambda=10, score=-0.49382520390164597, total=  16.8s\n",
      "[CV] reg_alpha=10, reg_lambda=10 .....................................\n",
      "[CV]  reg_alpha=10, reg_lambda=10, score=-0.47978303897115965, total=  18.4s\n",
      "[CV] reg_alpha=10, reg_lambda=10 .....................................\n",
      "[CV]  reg_alpha=10, reg_lambda=10, score=-0.4879136589651678, total=  17.3s\n",
      "[CV] reg_alpha=10, reg_lambda=100 ....................................\n",
      "[CV]  reg_alpha=10, reg_lambda=100, score=-0.5012149523350068, total=  16.8s\n",
      "[CV] reg_alpha=10, reg_lambda=100 ....................................\n",
      "[CV]  reg_alpha=10, reg_lambda=100, score=-0.496839600415041, total=  17.0s\n",
      "[CV] reg_alpha=10, reg_lambda=100 ....................................\n",
      "[CV]  reg_alpha=10, reg_lambda=100, score=-0.508791777011694, total=  18.9s\n",
      "[CV] reg_alpha=10, reg_lambda=100 ....................................\n",
      "[CV]  reg_alpha=10, reg_lambda=100, score=-0.49705052266771566, total=  23.9s\n",
      "[CV] reg_alpha=10, reg_lambda=100 ....................................\n",
      "[CV]  reg_alpha=10, reg_lambda=100, score=-0.5032447081512429, total=  17.4s\n",
      "[CV] reg_alpha=100, reg_lambda=0.001 .................................\n",
      "[CV]  reg_alpha=100, reg_lambda=0.001, score=-0.5815254208023547, total=  10.2s\n",
      "[CV] reg_alpha=100, reg_lambda=0.001 .................................\n",
      "[CV]  reg_alpha=100, reg_lambda=0.001, score=-0.5790918645298497, total=  10.5s\n",
      "[CV] reg_alpha=100, reg_lambda=0.001 .................................\n",
      "[CV]  reg_alpha=100, reg_lambda=0.001, score=-0.5848560631759457, total=   9.7s\n",
      "[CV] reg_alpha=100, reg_lambda=0.001 .................................\n",
      "[CV]  reg_alpha=100, reg_lambda=0.001, score=-0.5803434753709973, total=   9.9s\n",
      "[CV] reg_alpha=100, reg_lambda=0.001 .................................\n",
      "[CV]  reg_alpha=100, reg_lambda=0.001, score=-0.5847368642090213, total=   9.7s\n",
      "[CV] reg_alpha=100, reg_lambda=0.01 ..................................\n",
      "[CV]  reg_alpha=100, reg_lambda=0.01, score=-0.581493413395315, total=   9.6s\n",
      "[CV] reg_alpha=100, reg_lambda=0.01 ..................................\n",
      "[CV]  reg_alpha=100, reg_lambda=0.01, score=-0.5800929667185684, total=   9.9s\n",
      "[CV] reg_alpha=100, reg_lambda=0.01 ..................................\n",
      "[CV]  reg_alpha=100, reg_lambda=0.01, score=-0.5857218644267475, total=   9.7s\n",
      "[CV] reg_alpha=100, reg_lambda=0.01 ..................................\n",
      "[CV]  reg_alpha=100, reg_lambda=0.01, score=-0.5782721681014868, total=   9.6s\n",
      "[CV] reg_alpha=100, reg_lambda=0.01 ..................................\n",
      "[CV]  reg_alpha=100, reg_lambda=0.01, score=-0.5864572279905556, total=   9.5s\n",
      "[CV] reg_alpha=100, reg_lambda=0.1 ...................................\n",
      "[CV]  reg_alpha=100, reg_lambda=0.1, score=-0.5811893392471188, total=   9.7s\n",
      "[CV] reg_alpha=100, reg_lambda=0.1 ...................................\n",
      "[CV]  reg_alpha=100, reg_lambda=0.1, score=-0.5794633418151173, total=   9.7s\n",
      "[CV] reg_alpha=100, reg_lambda=0.1 ...................................\n",
      "[CV]  reg_alpha=100, reg_lambda=0.1, score=-0.5857935504383059, total=   9.6s\n",
      "[CV] reg_alpha=100, reg_lambda=0.1 ...................................\n",
      "[CV]  reg_alpha=100, reg_lambda=0.1, score=-0.5799692385576111, total=  10.0s\n",
      "[CV] reg_alpha=100, reg_lambda=0.1 ...................................\n",
      "[CV]  reg_alpha=100, reg_lambda=0.1, score=-0.5840200490677395, total=   9.5s\n",
      "[CV] reg_alpha=100, reg_lambda=1 .....................................\n",
      "[CV]  reg_alpha=100, reg_lambda=1, score=-0.5822954762497955, total=   9.6s\n",
      "[CV] reg_alpha=100, reg_lambda=1 .....................................\n",
      "[CV]  reg_alpha=100, reg_lambda=1, score=-0.578780758707808, total=   9.8s\n",
      "[CV] reg_alpha=100, reg_lambda=1 .....................................\n",
      "[CV]  reg_alpha=100, reg_lambda=1, score=-0.5868143880561559, total=   9.6s\n",
      "[CV] reg_alpha=100, reg_lambda=1 .....................................\n",
      "[CV]  reg_alpha=100, reg_lambda=1, score=-0.5799541024011684, total=   9.7s\n",
      "[CV] reg_alpha=100, reg_lambda=1 .....................................\n",
      "[CV]  reg_alpha=100, reg_lambda=1, score=-0.5861775118848104, total=   9.6s\n",
      "[CV] reg_alpha=100, reg_lambda=10 ....................................\n",
      "[CV]  reg_alpha=100, reg_lambda=10, score=-0.5825076368956698, total=   9.6s\n",
      "[CV] reg_alpha=100, reg_lambda=10 ....................................\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[CV]  reg_alpha=100, reg_lambda=10, score=-0.5794383177949033, total=  14.9s\n",
      "[CV] reg_alpha=100, reg_lambda=10 ....................................\n",
      "[CV]  reg_alpha=100, reg_lambda=10, score=-0.5870397042488548, total=   9.6s\n",
      "[CV] reg_alpha=100, reg_lambda=10 ....................................\n",
      "[CV]  reg_alpha=100, reg_lambda=10, score=-0.5795688382224552, total=   9.9s\n",
      "[CV] reg_alpha=100, reg_lambda=10 ....................................\n",
      "[CV]  reg_alpha=100, reg_lambda=10, score=-0.5860106207122011, total=   9.7s\n",
      "[CV] reg_alpha=100, reg_lambda=100 ...................................\n",
      "[CV]  reg_alpha=100, reg_lambda=100, score=-0.5849297049957138, total=   9.8s\n",
      "[CV] reg_alpha=100, reg_lambda=100 ...................................\n",
      "[CV]  reg_alpha=100, reg_lambda=100, score=-0.583704815569554, total=   9.9s\n",
      "[CV] reg_alpha=100, reg_lambda=100 ...................................\n",
      "[CV]  reg_alpha=100, reg_lambda=100, score=-0.5895198500590662, total=   9.9s\n",
      "[CV] reg_alpha=100, reg_lambda=100 ...................................\n",
      "[CV]  reg_alpha=100, reg_lambda=100, score=-0.583763627366222, total=   9.8s\n",
      "[CV] reg_alpha=100, reg_lambda=100 ...................................\n",
      "[CV]  reg_alpha=100, reg_lambda=100, score=-0.5899010038661423, total=  10.1s\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=1)]: Done 180 out of 180 | elapsed: 57.5min finished\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=StratifiedKFold(n_splits=5, random_state=5, shuffle=True),\n",
       "       error_score='raise-deprecating',\n",
       "       estimator=LGBMClassifier(boosting_type='goss', class_weight=None, colsample_bytree=0.6,\n",
       "        importance_type='split', learning_rate=0.1, max_bin=150,\n",
       "        max_depth=7, min_child_samples=35, min_child_weight=0.001,\n",
       "        min_split_gain=0.0, n_estimators=293, n_jobs=4, num_class=9,\n",
       "        num_leaves=70, objective='multiclass', random_state=None,\n",
       "        reg_alpha=0.0, reg_lambda=0.0, silent=False, subsample=1.0,\n",
       "        subsample_for_bin=200000, subsample_freq=0),\n",
       "       fit_params=None, iid='warn', n_jobs=None,\n",
       "       param_grid={'reg_alpha': [0.001, 0.01, 0.1, 1, 10, 100], 'reg_lambda': [0.001, 0.01, 0.1, 1, 10, 100]},\n",
       "       pre_dispatch='2*n_jobs', refit=False, return_train_score='warn',\n",
       "       scoring='neg_log_loss', verbose=5)"
      ]
     },
     "execution_count": 156,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "params = {'boosting_type': 'goss',\n",
    "          'objective': 'multiclass',\n",
    "          'n_jobs': 4,\n",
    "          'num_class':9,\n",
    "          'learning_rate': 0.1,\n",
    "          'num_leaves': 70,\n",
    "          'max_depth': 7,\n",
    "          'n_estimators':293,\n",
    "          'max_bin': 150, \n",
    "          'colsample_bytree': 0.6,\n",
    "          'min_child_samples':35,\n",
    "         }\n",
    "tuned_params = dict(reg_alpha=[1e-3,1e-2,1e-1,1,10,100],reg_lambda=[1e-3,1e-2,1e-1,1,10,100])\n",
    "lgc = LGBMClassifier(silent=False,**params)\n",
    "gc = GridSearchCV(lgc,tuned_params,verbose=5,scoring='neg_log_loss',cv=kfold,refit=False)\n",
    "gc.fit(X,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 157,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'reg_alpha': 1, 'reg_lambda': 0.001} [-0.47670622 -0.4776658  -0.4760323  -0.4760188  -0.47720293 -0.4919631\n",
      " -0.4763004  -0.47793722 -0.47852107 -0.47702766 -0.47678174 -0.49109605\n",
      " -0.47754658 -0.47777586 -0.47766921 -0.47666003 -0.47763676 -0.49150143\n",
      " -0.47491248 -0.47505824 -0.47566573 -0.47614974 -0.47690246 -0.493103\n",
      " -0.48453975 -0.48523836 -0.48430766 -0.48373455 -0.48559672 -0.50142808\n",
      " -0.58211046 -0.58240713 -0.58208688 -0.58280409 -0.5829127  -0.58636343]\n"
     ]
    }
   ],
   "source": [
    "print(gc.best_params_,gc.cv_results_['mean_test_score'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "和gbdt的正则一样，这里就不使用L2正则了"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "调小学习率，重新学习树数量,叶子数据量调回40，列采样调回0.5，最大叶子树调回75"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 161,
   "metadata": {},
   "outputs": [],
   "source": [
    "params = {'boosting_type': 'goss',\n",
    "          'objective': 'multiclass',\n",
    "          'n_jobs': 4,\n",
    "          'num_class':9,\n",
    "          'learning_rate': 0.01,\n",
    "          'num_leaves': 75,\n",
    "          'max_depth': 7,\n",
    "#           'n_estimators':293,\n",
    "          'max_bin': 150, \n",
    "          'colsample_bytree': 0.6,\n",
    "          'min_child_samples':40,\n",
    "          'reg_alpha':1\n",
    "         }\n",
    "lgbm_result = lgbm.cv(params,lgbm_data,num_boost_round=200000,nfold=5,seed=5,early_stopping_rounds=30,metrics='multi_logloss')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 162,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "4089 0.4597199085579122\n"
     ]
    }
   ],
   "source": [
    "print(len(lgbm_result['multi_logloss-mean']), lgbm_result['multi_logloss-mean'][-1])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "对全体数据进行训练"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 163,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LGBMClassifier(boosting_type='goss', class_weight=None, colsample_bytree=0.6,\n",
       "        importance_type='split', learning_rate=0.01, max_bin=150,\n",
       "        max_depth=7, min_child_samples=40, min_child_weight=0.001,\n",
       "        min_split_gain=0.0, n_estimators=4089, n_jobs=4, num_class=9,\n",
       "        num_leaves=75, objective='multiclass', random_state=None,\n",
       "        reg_alpha=1, reg_lambda=0.0, silent=False, subsample=1.0,\n",
       "        subsample_for_bin=200000, subsample_freq=0)"
      ]
     },
     "execution_count": 163,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "params = {'boosting_type': 'goss',\n",
    "          'objective': 'multiclass',\n",
    "          'n_jobs': 4,\n",
    "          'num_class':9,\n",
    "          'learning_rate': 0.01,\n",
    "          'num_leaves': 75,\n",
    "          'max_depth': 7,\n",
    "          'n_estimators':4089,\n",
    "          'max_bin': 150, \n",
    "          'colsample_bytree': 0.6,\n",
    "          'min_child_samples':40,\n",
    "          'reg_alpha':1\n",
    "         }\n",
    "lgc = LGBMClassifier(silent=False,**params)\n",
    "lgc.fit(X,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 164,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 保存模型\n",
    "pc.dump(lgc,open('lgbm_goss_model.pkl','wb'))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "读取测试数据和模型，进行预测"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 172,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.read_csv('Otto_test_final_data.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 166,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th>id</th>\n",
       "      <th>feat_1_log</th>\n",
       "      <th>feat_2_log</th>\n",
       "      <th>feat_3_log</th>\n",
       "      <th>feat_4_log</th>\n",
       "      <th>feat_5_log</th>\n",
       "      <th>feat_6_log</th>\n",
       "      <th>feat_7_log</th>\n",
       "      <th>feat_8_log</th>\n",
       "      <th>...</th>\n",
       "      <th>feat_84_tfidf</th>\n",
       "      <th>feat_85_tfidf</th>\n",
       "      <th>feat_86_tfidf</th>\n",
       "      <th>feat_87_tfidf</th>\n",
       "      <th>feat_88_tfidf</th>\n",
       "      <th>feat_89_tfidf</th>\n",
       "      <th>feat_90_tfidf</th>\n",
       "      <th>feat_91_tfidf</th>\n",
       "      <th>feat_92_tfidf</th>\n",
       "      <th>feat_93_tfidf</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>144368.000000</td>\n",
       "      <td>144368.000000</td>\n",
       "      <td>144368.000000</td>\n",
       "      <td>144368.000000</td>\n",
       "      <td>144368.000000</td>\n",
       "      <td>144368.000000</td>\n",
       "      <td>144368.000000</td>\n",
       "      <td>144368.000000</td>\n",
       "      <td>144368.000000</td>\n",
       "      <td>144368.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>144368.000000</td>\n",
       "      <td>144368.000000</td>\n",
       "      <td>144368.000000</td>\n",
       "      <td>144368.000000</td>\n",
       "      <td>144368.000000</td>\n",
       "      <td>144368.000000</td>\n",
       "      <td>144368.000000</td>\n",
       "      <td>144368.000000</td>\n",
       "      <td>144368.000000</td>\n",
       "      <td>144368.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>72183.500000</td>\n",
       "      <td>72184.500000</td>\n",
       "      <td>0.041722</td>\n",
       "      <td>0.029894</td>\n",
       "      <td>0.062856</td>\n",
       "      <td>0.060909</td>\n",
       "      <td>0.014981</td>\n",
       "      <td>0.006299</td>\n",
       "      <td>0.023695</td>\n",
       "      <td>0.060551</td>\n",
       "      <td>...</td>\n",
       "      <td>0.005217</td>\n",
       "      <td>0.034445</td>\n",
       "      <td>0.069815</td>\n",
       "      <td>0.025043</td>\n",
       "      <td>0.062296</td>\n",
       "      <td>0.026029</td>\n",
       "      <td>0.026999</td>\n",
       "      <td>0.014785</td>\n",
       "      <td>0.026655</td>\n",
       "      <td>0.008421</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>41675.596169</td>\n",
       "      <td>41675.596169</td>\n",
       "      <td>0.103949</td>\n",
       "      <td>0.095920</td>\n",
       "      <td>0.145461</td>\n",
       "      <td>0.134859</td>\n",
       "      <td>0.071203</td>\n",
       "      <td>0.047930</td>\n",
       "      <td>0.084687</td>\n",
       "      <td>0.116255</td>\n",
       "      <td>...</td>\n",
       "      <td>0.045683</td>\n",
       "      <td>0.107326</td>\n",
       "      <td>0.138045</td>\n",
       "      <td>0.075523</td>\n",
       "      <td>0.146424</td>\n",
       "      <td>0.073170</td>\n",
       "      <td>0.103854</td>\n",
       "      <td>0.084427</td>\n",
       "      <td>0.071056</td>\n",
       "      <td>0.049958</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>36091.750000</td>\n",
       "      <td>36092.750000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>72183.500000</td>\n",
       "      <td>72184.500000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>108275.250000</td>\n",
       "      <td>108276.250000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.150190</td>\n",
       "      <td>...</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.084082</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.049489</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>144367.000000</td>\n",
       "      <td>144368.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>8 rows × 188 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "          Unnamed: 0             id     feat_1_log     feat_2_log  \\\n",
       "count  144368.000000  144368.000000  144368.000000  144368.000000   \n",
       "mean    72183.500000   72184.500000       0.041722       0.029894   \n",
       "std     41675.596169   41675.596169       0.103949       0.095920   \n",
       "min         0.000000       1.000000       0.000000       0.000000   \n",
       "25%     36091.750000   36092.750000       0.000000       0.000000   \n",
       "50%     72183.500000   72184.500000       0.000000       0.000000   \n",
       "75%    108275.250000  108276.250000       0.000000       0.000000   \n",
       "max    144367.000000  144368.000000       1.000000       1.000000   \n",
       "\n",
       "          feat_3_log     feat_4_log     feat_5_log     feat_6_log  \\\n",
       "count  144368.000000  144368.000000  144368.000000  144368.000000   \n",
       "mean        0.062856       0.060909       0.014981       0.006299   \n",
       "std         0.145461       0.134859       0.071203       0.047930   \n",
       "min         0.000000       0.000000       0.000000       0.000000   \n",
       "25%         0.000000       0.000000       0.000000       0.000000   \n",
       "50%         0.000000       0.000000       0.000000       0.000000   \n",
       "75%         0.000000       0.000000       0.000000       0.000000   \n",
       "max         1.000000       1.000000       1.000000       1.000000   \n",
       "\n",
       "          feat_7_log     feat_8_log  ...  feat_84_tfidf  feat_85_tfidf  \\\n",
       "count  144368.000000  144368.000000  ...  144368.000000  144368.000000   \n",
       "mean        0.023695       0.060551  ...       0.005217       0.034445   \n",
       "std         0.084687       0.116255  ...       0.045683       0.107326   \n",
       "min         0.000000       0.000000  ...       0.000000       0.000000   \n",
       "25%         0.000000       0.000000  ...       0.000000       0.000000   \n",
       "50%         0.000000       0.000000  ...       0.000000       0.000000   \n",
       "75%         0.000000       0.150190  ...       0.000000       0.000000   \n",
       "max         1.000000       1.000000  ...       1.000000       1.000000   \n",
       "\n",
       "       feat_86_tfidf  feat_87_tfidf  feat_88_tfidf  feat_89_tfidf  \\\n",
       "count  144368.000000  144368.000000  144368.000000  144368.000000   \n",
       "mean        0.069815       0.025043       0.062296       0.026029   \n",
       "std         0.138045       0.075523       0.146424       0.073170   \n",
       "min         0.000000       0.000000       0.000000       0.000000   \n",
       "25%         0.000000       0.000000       0.000000       0.000000   \n",
       "50%         0.000000       0.000000       0.000000       0.000000   \n",
       "75%         0.084082       0.000000       0.049489       0.000000   \n",
       "max         1.000000       1.000000       1.000000       1.000000   \n",
       "\n",
       "       feat_90_tfidf  feat_91_tfidf  feat_92_tfidf  feat_93_tfidf  \n",
       "count  144368.000000  144368.000000  144368.000000  144368.000000  \n",
       "mean        0.026999       0.014785       0.026655       0.008421  \n",
       "std         0.103854       0.084427       0.071056       0.049958  \n",
       "min         0.000000       0.000000       0.000000       0.000000  \n",
       "25%         0.000000       0.000000       0.000000       0.000000  \n",
       "50%         0.000000       0.000000       0.000000       0.000000  \n",
       "75%         0.000000       0.000000       0.000000       0.000000  \n",
       "max         1.000000       1.000000       1.000000       1.000000  \n",
       "\n",
       "[8 rows x 188 columns]"
      ]
     },
     "execution_count": 166,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 167,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th>id</th>\n",
       "      <th>feat_1_log</th>\n",
       "      <th>feat_2_log</th>\n",
       "      <th>feat_3_log</th>\n",
       "      <th>feat_4_log</th>\n",
       "      <th>feat_5_log</th>\n",
       "      <th>feat_6_log</th>\n",
       "      <th>feat_7_log</th>\n",
       "      <th>feat_8_log</th>\n",
       "      <th>...</th>\n",
       "      <th>feat_84_tfidf</th>\n",
       "      <th>feat_85_tfidf</th>\n",
       "      <th>feat_86_tfidf</th>\n",
       "      <th>feat_87_tfidf</th>\n",
       "      <th>feat_88_tfidf</th>\n",
       "      <th>feat_89_tfidf</th>\n",
       "      <th>feat_90_tfidf</th>\n",
       "      <th>feat_91_tfidf</th>\n",
       "      <th>feat_92_tfidf</th>\n",
       "      <th>feat_93_tfidf</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.412891</td>\n",
       "      <td>0.058633</td>\n",
       "      <td>0.841374</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0.263179</td>\n",
       "      <td>0.286946</td>\n",
       "      <td>0.609557</td>\n",
       "      <td>0.641167</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.144047</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.06132</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.181043</td>\n",
       "      <td>0.577347</td>\n",
       "      <td>0.156862</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.078015</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.070429</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.156862</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.135478</td>\n",
       "      <td>0.033424</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>0.166048</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.156862</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.182088</td>\n",
       "      <td>0.238046</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.547803</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 188 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   Unnamed: 0  id  feat_1_log  feat_2_log  feat_3_log  feat_4_log  feat_5_log  \\\n",
       "0           0   1    0.000000    0.000000    0.000000    0.000000         0.0   \n",
       "1           1   2    0.263179    0.286946    0.609557    0.641167         0.0   \n",
       "2           2   3    0.000000    0.181043    0.577347    0.156862         0.0   \n",
       "3           3   4    0.000000    0.000000    0.000000    0.156862         0.0   \n",
       "4           4   5    0.166048    0.000000    0.000000    0.156862         0.0   \n",
       "\n",
       "   feat_6_log  feat_7_log  feat_8_log  ...  feat_84_tfidf  feat_85_tfidf  \\\n",
       "0         0.0    0.000000    0.000000  ...            0.0       0.000000   \n",
       "1         0.0    0.000000    0.000000  ...            0.0       0.000000   \n",
       "2         0.0    0.000000    0.000000  ...            0.0       0.000000   \n",
       "3         0.0    0.000000    0.000000  ...            0.0       0.135478   \n",
       "4         0.0    0.182088    0.238046  ...            0.0       0.000000   \n",
       "\n",
       "   feat_86_tfidf  feat_87_tfidf  feat_88_tfidf  feat_89_tfidf  feat_90_tfidf  \\\n",
       "0       0.412891       0.058633       0.841374       0.000000            0.0   \n",
       "1       0.000000       0.000000       0.000000       0.144047            0.0   \n",
       "2       0.000000       0.000000       0.078015       0.000000            0.0   \n",
       "3       0.033424       0.000000       0.000000       0.000000            0.0   \n",
       "4       0.000000       0.000000       0.000000       0.000000            0.0   \n",
       "\n",
       "   feat_91_tfidf  feat_92_tfidf  feat_93_tfidf  \n",
       "0       0.000000        0.00000       0.000000  \n",
       "1       0.000000        0.06132       0.000000  \n",
       "2       0.000000        0.00000       0.070429  \n",
       "3       0.000000        0.00000       0.000000  \n",
       "4       0.547803        0.00000       0.000000  \n",
       "\n",
       "[5 rows x 188 columns]"
      ]
     },
     "execution_count": 167,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 171,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(144368, 186)"
      ]
     },
     "execution_count": 171,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X = df.iloc[:,2:]\n",
    "X.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 175,
   "metadata": {},
   "outputs": [],
   "source": [
    "lgc = pc.load(open('lgbm_goss_model.pkl','rb'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 176,
   "metadata": {},
   "outputs": [],
   "source": [
    "goss_result = lgc.predict_proba(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 178,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 拼接结果\n",
    "goss_result = pd.DataFrame(data=goss_result,columns=[\"Class_\"+str(i) for i in range(1,10)])\n",
    "goss_result = pd.concat([df['id'],goss_result],axis=1)\n",
    "goss_result.to_csv('lgbm_goss_result.csv',index=False)"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "iVBORw0KGgoAAAANSUhEUgAAB4oAAAG8CAYAAAAo6CjjAAAgAElEQVR4AezdCbgcVZ2w8RNICIGwBMKWBAJZ2LewCySABJBdxwXHfdRxdD5ncRTRUUc/NxR1Zr5Rx20ct8GZAWVTFmWRNewECCQhkA1IgEQISyBAAvmet/S0p8+tvrfv7b63b/d9z/Pc29XVtZz6VXfVqfOvc2rYmpdeXh9MCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAJDRmCDIbOlbqgCCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiigQCFgoNgvggIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKDDEBAwUD7Ed7uYqoIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACBor9DiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAJDTMBA8RDb4W6uAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgooYKDY74ACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCigwxAQMFA+xHe7mKqCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgaK/Q4ooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACQ0zAQPEQ2+FurgIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKGCg2O+AAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgooMMQEDBQPsR3u5iqggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIGiv0OKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAkNMwEDxENvhbq4CCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCihgoNjvgAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKDDEBAwUD7Ed7uYqoIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACBor9DiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAJDTMBA8RDb4W6uAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgooMHygCNatXRvWrFkTXnrpxbBu3Sth/fr1A7Vq16OAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgp0lMCwYcPC8OEbhpEjNw6jRo0Kw0eM6NX2DVvz0sv9HrF97tlnw+rVq3uVMSdWQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFKhPYPTo0WGzzTevb+IQQr+3KH76qafCmhdfLDK02WajwyajNgkjRgwPRLhNCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAK9F6AH57Vr14UX1rwQnntuddFw95V168KWW21V18L6tUVxbElMUHjbbbYJG23Uu+bOdW2BEymggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAJDWODll9eGFStXFo//rbdl8Qb95cUziWN30waJ+0vZ5SqggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiigwFAXoMEuMVkSMVpitT2lfgsUr1mzplg33U3bkrin3eDnCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiigQN8FiMkSmyXFWG13S+u3QPFLL/3hucQ8k9ikgAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKNC/AjE2G2O13a2t3wLF69a9Uqx3xIjh3a3fzxRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFmiAQY7MxVtvdIvstULx+/fpivcOGDetu/X6mgAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKNAEgRibjbHa7hbZb4Hi7lbqZwoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACrRMwUNw6e9esgAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKtETAQHFL2F2pAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoo0DoBA8Wts3fNCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiigQEsEDBS3hN2VKqCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAq0TMFDcOnvXrIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCrREwEBxS9hdqQIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKNA6AQPFrbN3zQoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooEBLBAwUt4TdlSqggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAKtEzBQ3Dp716yAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgq0RMBAcUvYXakCCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCijQOgEDxa2zd80KKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKBASwQMFLeE3ZUqoIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACrRMwUNw6e9esgAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKtETAQHFL2F2pAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoo0DoBA8Wts3fNCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiigQEsEDBS3hN2VKqCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAq0TMFDcOnvXrIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCrREwEBxS9hdqQIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKNA6AQPFrbN3zQoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooEBLBAwUt4TdlSqggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAKtEzBQ3Dp716yAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgq0RMBAcUvYXakCCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCijQOgEDxa2zd80KKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKBASwSGt2StrlQBBRQYQgKPP/54WL16dWWLt99++zB69OjKewcUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAgYEWMFDcjfitt94aVq1aVZli+PDh4eijjw68dpfmzp0bHn744cokY8aMCYceemjlvQMKKDC0BGbPnh2WLVtW2eiZM2cO6kDxq6++Gm644YZKfhk47LDDwsiRI6vGDfSbJUuWhKVLl1ZWu8MOO4Rdd9218t4BBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUqF+g+4hn/cvpyCnHjx8f5syZU7Vt999/f9hvv/2qxqVvaDU4a9asdFSYOnVq1XvfKKCAAoNZYP369eHBBx+syuJBBx3U8kDxU089VZUvbtoxUFy1m3yjgAIKKKCAAgoooIACCiiggAIKKKCAAgoooEDdAgaKu6GaMGFC2GmnnapaB99+++1FYGLUqFGlc/J5muhidvLkyekoh9tQYPHixeH5558vcs6+d58O3E584YUXwqJFiyornDhxYthss80q7x1QQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRTovYCB4h7M6G417Uaaye+6665wxBFHdJnziSeeCAsXLqwaf/jhh1e99017Ctx7771h5cqVRea33XZbA8UDuBtpRXrLLbdU1khX7gaKKxwOKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAJ9EjBQ3APb5ptvHqZNmxZ4xmhM8+bNC3vuuWcgYBUTXbWmwSzG77XXXmGrrbaKk/jaxgJr165t49y3d9ZfeeWV9t6ANsz9BhtsEF7/+tdXcs77TTfdtPK+VQO777570ctDXP/o0aPjoK8KKKCAAgoooIACCiiggAIKKKCAAgoooIACCijQSwEDxXWA8UxigsMvvvhiZerbbrstnHDCCZX3dI0bW5wycsSIEeGAAw6ofO5A+wq8+uqrlW6n23cr2jfnzz33XPtmvk1zPmzYsDB27NhBl/tNNtkk8GdSQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUECBxgUMFNdhOHz48KKr6auvvroy9SOPPBKWLVsWxo8fH9atWxduvvnmymcM0GX1yJEjq8bxhqDj008/HVatWhXoUnfDDTcsWibTOnmLLbYIBGjKEsGyNWvWVD6iJV1ZwIRlkp+YCPbQGjCm3//+90UeeM+6t9566+IjguCPPfZYWL16ddESOp0nzpu+kpc0gEdXwDy7l5a3S5cuDc8++2yxHloh8qznvKtg8rlixYpiGcxHy+1x48YFrLtLffWLy6R16uOPP17kj/yzPNaNw3bbbRcnK155Ni7TcBNA2qL45ZdfLvIeJ95yyy3DRhttFN+WvuZerHPjjTcupqXLcr4P7P8ddtihy/zMi9eTTz5Z3KzA+mipzmtPXiwsN+M7xv5g/nybu6w8mZ888Mf3mvXzV6uVKevkuxYT87B9tLznd8P2sl3kI253+t2PecZ/zpw5cTHFK/NyIwaJ17Rlf9WEJW/4XuL4zDPPFOsnX8zPs8TLnjvO+slnTH393cX581e+j9xgsnz58mJfYrrNNtuUHjuYN/394sW0JH5LLIfnaPO9Yt/yu0t/xxwXHn300eL4w3r5DnJ8qOWXrot15MeSYsUhFL+l3pjG+XglzxwP2S/8rvg+kR9+B2Xf7fx3xD7Ljy1x+fE71Ntj7UsvvVR8P+JyWD7rwY/jPt8dhqMf+8ykgAIKKKCAAgoooIACCiiggAIKKKCAAgoooEA7CnQflWvHLeqnPO+yyy5F8IJgaky33npreMMb3hDuu+++qtbGBB133XXXOFnllaDItddeWxWEqHwYQhG0O+qoo4oARDqe4fvvv79YTxzPs4/p/jpNBOEuuOCCdFR497vfXRUsuuiiiyqfEwA544wzim6177zzzsp4undNA0yVD5KBBQsWhNtvv70y5sgjjwwE0Qimp0HVOEHML5/dcMMNRfA1fhZfyc9rX/vaSvArjo+vjfixDJ41TUCf4F9ZIuh29NFHF4FLPr/nnnsK93xaAluXXHJJZfQpp5xSBBorI0oGci+2kwDT7373uyJwySz7779/VaCYYB7GfL/KEkHSY445pqor3nw6gn2sg+BWWeK7evDBBxdBxbLPCUCyTwlAliV+F9OnT+8SKGdf/epXv6rMMnny5GL7rrrqqtK8ELDGPgb9CNbl3+W4sLSLdwKKJ598cvyo5ivLu+OOO4qeAWpNdNBBBxV5TD9v1u8uXWYcnjt3bpg1a1Z8W3ntbr+mv1+me8c73hGuueaa4uaMygL+OIAl3UcTDOe7f/3111cdp+L0e++9dzjkkEO6/ObTdTHt29/+9qpgel9NWRbBW36LBMjLEsHuGTNmdPlu578j8s5NOXlq5Fgxf/78Lsc2DPErO7bttttu4TWveU1pYDvPl+8VUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFBhMAn9qajqYcjVI80IwIE20ruTZxQSg0nTEEUd0aRlMwOniiy8uDZLFeWlZet555xVBnTiuv18JuqVB4r6uj4DiFVdcURpIYZkExAgO/fa3vy0NEjMNAVwCiQRI89SoH62IWXetIDHrI7jENtCysb8TwWa+D7TELEu0ZiYYXStIzDwErdim9PnZ6bLoLp1gX60gMdOyfra5LGBHIJM81AoSM//ixYvDhRde2K0r09FilGXVygvf/ZtuuinNftOGuYGCYDke3aWeAsndzdvbzwhGlgWJWU7crwsXLuxxsdx0QQv+ssR3nZtZaMHN9yTtOj+dnu/Ygw8+mI7qcbgRU/Jx6aWXln7n4oqZhjynrdLjZz29NnqsyJdPjwK1boBh2gceeKD0hpJ8Ob5XQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUGCwCRgo7sUeoQUoLdjSdNddd6Vvi5bE2267bdU4gmN519S0oKSVLa056Xo3TbVarqXTNGOYQFJ3gcjerIOWfiS6vJ06dWrRJXc+/y9/+cuie2vG77TTTmHnnXfu0nUxQUkCM2lqhh8BtTRNmjSpaI1LS8rYipXPMXnooYeKSdkvdIcdu/dN52d8/Oup2+l0vjjM96asdWL8nKBlGkQmL8cee2zRepZnZqeJQH8egCUwmwde+c5xswM3MuTfuSuvvLIqPywvD2SyXlrvko90fsx6utmAIDzbSytY7GlhzHCa6BY5BgZp0R598+n4jsXP6nmO7pIlS4oul+O6aK1K62FaY+ct/3n2OF0W93diW0n8Bg488MDiN5Ovk7yU3TQRp8MzflcnTpwYpkyZUunOPE7D7/Lyyy8v3rLPWB9dUucp7R0g/6zsfSOmfPfToDW/L76TtExnv6bp7rvvTt/2ONyMY0W+kngTBX4c2zh25Qk/gucmBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQXaScCup3u5t6ZNm1a0IKsV5CPwm6e0q1w+I1Bz/PHHV7p6pavntLUlQRQCJGXLypfdrPcEQAjY8CxOnl3cl0QgkQBcfNbsvffeGwh2pYmg36mnnlp0u8x4Wu/mLa1pbZumRv3wTAOpBHwIEsZ88nxa/GMiMES33vGPltAEuWNi/pNOOim+beiVZRE0JVgdg54EiGPgnYVjdtppp1WeW0t3ywQQ0yA/rYrpujkmWpKmaccddwzHHXdc5TtHsPZnP/tZZRK+z7QK55nbpDxwyHcxDVBjdu6551bmJ2BJ19kEcWsl5iEPdONLIphNC/o0sZ9wYJpoTNfK6c0DfMcIeNabaK2cJm7QYPtJ2NN6OwZuceD7NxDPnWV/EdyNiS6Mf/3rX8e3RUtuXBlfKxH05vfE94jEd50W3nkrcL7LdNEcu5SnFWx68wTzse15UL7WehsxjYHXuOyZM2dWbhhhv/z85z+v3LRAa+jepEaPFbXWlXfPTWtvWqmnie9RrWd2p9M5rIACCiiggAIKKKCAAgoooIACCiiggAIKKKDAYBEwUNzLPUEAi4BLGmSJi2A8gdY0EYB55JFH0lFFC8IYsOEDlkkQjpbEMRHIGYhAMYEhnmMaA01x/b19JWB1wAEHVIKvzE+AKw8UE2hPg3C0xiVInXbfTQvVmJrhlwfNaDFK678YKKYF+Dvf+c64yj4HyisLqHMgDz7F2fJugPluxOBqnIYWpGmgmIAiz7dmm3h2bN4dMd+l/DuHe7quGChes2ZNoMVomvbaa6/0bfE9J/BLl94x8T3vLlBMgDbdjs0337wI+KbrWr16dVxc017zZeatdAler1u3rrK+vrQQr8xc5wCB+zRIzGx4ErhOu5ymhXV3gWKC5ulvl98hy+AmjZj4jef7n3XnxzCcxowZE2fr9rUR0/xGkHR/kNe3ve1tlVbd8TfabWb++GEzjhVl68E09+PZ3DfeeGMloM18mBgoLhN0nAIKKKCAAgoooIACCiiggAIKKKCAAgoooMBgFTBQ3Ic9Q3e1PL817xqYVnt5otVkmgg6lHVlnHdn2tsWfuk6ejNMcDsNNPVm3nRaWrnmLZHToGCclmBYnjbZZJOqUWngqBl+o0ePrlo+gWhaLRIsIzBGa14CnHk+qmZq8hsCSnnwKa4iD6QR4I1dMsdp0qBvHBdbNKatp/mMdaXB+Tg9gVuC+zHF/VVmnueJebBLA8X5fHG5vBIALMtDvm/SfZ/O38gwAek0XXfddUUwlm6O2fd8zraUmabzNXO4VotobgBIA8XpTRNl68+7uWea3JQux/FPE79VjkUcZ2LqjX0jpnwPeL57TLQq57fItpB3jkd9OSbl379mHWvLjm18V/hdpb+L3vjFbfdVAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQIFWChgo7oM+rdwI7KaBYgKgZYGmPGiXB1ji6glq5IkgUVlwLZ+ukfdlQeu+LK9WkJUAVdpNd97imnXlAeZ0/c3wIwBKsCztLpcAWdoil3VuvfXWReCUYF1/J9xrbXceFM5bZdfKW2zRmJvVCrqxb/IAIsvOA25YXXTRRbVWWxmfz1f5IISaQfiy30w6XzOG6eo9bWHLMulqOnY3zXscCFbSQjcGzJux7lrLyIO5cbr8d5TvyzhdfC37PeWm+TLjvLW+f/Hz7l4bMSVIngaKWQ8t4vmLiSAsrdhpdZ9vT5wmf82tmnWs7Q+/PO++V0ABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFCgFQIbtGKlQ2mddOObpu66tc2Ddvm86XKaNUxAphmpN13E9mZ9uUFf/WbMmFG0Hu1u3QT+r7zyyqrnA3c3fSOf1Qpiscy0lWdv1hED8r0xK1t+Pn/ZNGXjeN50rdRf349a60vH03KY5yd3l7CbN29eERBPu6Hubp5GPqsVpM2PAX39LqR5q2VfbwA2XVYcbsR03333rTwLOy4vf6W7eG6QyLvHzqdL3+ff274eK9JlMlzLL5/O9woooIACCiiggAIKKKCAAgoooIACCiiggAIKtJuALYr7eY/RtW2a8mBG/Izn5sZAXxyXzxvH13rtLlBXa57BHgTJDfrqR6vaN77xjUWrxWXLloXHHnusZkD25ptvDnQv3qrENqddDtOysrtn/8Z8xmny4D/PLO5NyuentfuBBx7Y4yLKWsX3ONMATUBLYVqyLlq0qNj3K1euLF0z7jy3eY899ij9vGxkX353tfZJ/v3u7oaCsrwM5Li+mg4fPjyceOKJxXO0H3744aL78rw1cNwO9gWB5XqendysY0Vct68KKKCAAgoooIACCiiggAIKKKCAAgoooIACCnS6gIHift7DeaCH7nkJCuet+eg2OE+1uqdlujyozDha4XVaaqYfAardd9+9+MOJZ4riTuB41qxZFTpsed5vrS5nKxP20wBB7TRQzDNSaz3TtiwLuRldWa9fv75Ly0i6/50/f35lEXS9vdtuu3VpeU0AuDeB08oC+2mAbelLGjt2bOAvJlrrrlq1Ktx1111F8DiOz7tFjuN5bdbvLt2/6fLz8bW6DU/naeVwI6Z08R67eWefcvziu3rjjTdW3cTBc4DrCRTn3/tmHWtb6eu6FVBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRToTwEDxf2pG0KXoBuBpuXLlwee8ZmmJUuWpG+LZxOnweS8S9qyYFb6jM+qhbXxm7yVYF/8aLVIMDgmnnvKcun+l0AcfwsXLqx6hjGtRGsFimn9SD7yfRKX3+grQbH0+bmLFy/uEigmsMZzd7npIKZ99tknEAzPA2bkdcWKFcVzmuO0vC5dujTMnTu3Murggw8uhvP5CdTxF1ssxxl45jPf5Zh47nL+vY6fNfOVLsJ32WWXuhZJN9J33HFHEShnBvb1nnvuWcxLAJwg/LRp06oCxWkL4XwfN+t3R4Ce72GeFixYUDVqMAaKGzElMJ/enLDjjjsW3xl6NuDGGP4wJngfU63W1/Hz+NqMY0Vclq8KKKCAAgoooIACCiiggAIKKKCAAgoooIACCgwFAZ9R3M97medkxsBUXNVNN91UtFiN72lFN3v27Pi2eCV4laY8CEJgMwbpCBoSJCZw2GmpGX60Gr7//vsrf/fdd18VE939EvRMUxosHTVqVPpRMcz+osUiQdhmP9OWVs9pYl8T1E0Twbbbb7893HnnncUf2xdvLBg5cmSYOnVqOnm49tprQ9qtMd+5/Puy/fbbF/MQQM273qY77jSASvDu+uuvr6yffJS1iq/KRB/f5AF7PAikY99TEJGbAR544IHKvqfleN5qNw3Kk0VaVsfUX787Au88gzdtHc3+yLvEnjRpUszKoHltxJTtTX+LfIdp2Z+mRx55JH1b3DRTNaLGm2YcK2os2tEKKKCAAgoooIACCiiggAIKKKCAAgoooIACCnSkgC2KB2C3HnDAAcVzTwlskQhUnX/++YHAHEFGnpebJlo55i0m0+BVnPayyy6Lgx392qgfnmkiUEXLRvwJ9uZBWLrDjUFX5iNwSsvSuP8YR1AvBlpnzpzZpcVvur7eDtOKlNamaUD7yiuvLFq/8hl5zwPbPMc1zTPPj+X5rjHxnTv33HPDuHHjilbIjz/+ePyoeN1uu+0CLYJj4pnEaetWWmSfd955Yfz48UUX1pilHvhMmTIlzt7U17xVLdtyxRVXFOvgsze/+c0110dL1Z122qloMR4nuuCCC4outgl48tujtXWaMIqpP393fH9oLY47geO8tTLB/nq6XI55HajXRkzZHn5PdPtNonU4+4Ou1TkWErRPn1fM92qrrbaqe9MaPVbUvSInVEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFCgAwRsUTwAO5HACMHEtBtbgmy0nMuDxNtuu2046qijuuSKgFVPrQv333//Ll1dd1lQG45o1I/g1CGHHFK15bTGpntbWmKnAc9NN900HHnkkVXT8oYA1EAm1pc/l5jvCi2J8yAx34u8G2O2I//OkX+2Ow8SR9800Mz8xx13XNV3luAerXlzM5b7ute9ruj2uj+MJk+eXAQX+7rsww47LLA9MbG/CcLfc889XYLEfE/S5xj31+8uttgm6L1o0aIuQWK6+SbYP1hTX00JMvO9TBOBYfYFN3CkQWKm6e33Kn6XG/aqP5MAACAASURBVDnWpnlzWAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUECBThYwUNzHvUvAozeJlphnnHFGIOhVlghwEKQ65ZRTiud0lk0zffr0wHNoyxJdVdMKlFaSA5Hq3f48P/l78poGKGvlvVE/WtweffTR3QbSCbaefvrpoayr6b322qvYP2kAqlZey8bX6xXnpRtdAmrs8zTIGT/nlWDijBkziu0qMyTQ/KY3valoUZvOlw4TkKZFbtk207K6p/npJpv5aZHcl5TnO3/PMrE46aSTitbQfVkH23bqqad26QI+XRYBYbz5nuSpGb+7fP9zU8ehhx5a+n3cbbfdwutf//qa+z3PX/4+/42VmTJPrfH58sreN2JKS/7TTjst8HziWonvLgb59yp3LJu/0WNF2TLLxuV+uXvZPI5TQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUGAwCQxb89LL6/sjQ48tX14sdscJ4/tj8W29TJ7TyfNcaU1IosVrWaCu1kbSRSvzvvDCC0VLS56n29cAZq11DObxjfgx7/PPP1909UsLWYKQo0ePLgJ29RgyP+7MS6CI+dl3edCo2X48H5gup1kv6yN4zLN76wmckZdXX321+M7RxTEBLZ69y3bXm2+2m+9cnJ91M389Zs20iN998sN2YME+qDfRmpjt4DvAMI78sS09pbjuZv/uOBbQBTP7hOB/vfukp/wO1OeNmPLcbLYfU/Yp+4E/bpxpRmKZjRxrm5EHl6GAAgoooIACCiiggAIKKKCAAgoooIACCiigwEALPPLosmKVOySP2yzLg4HiMhXHKaCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAm0oUG+g2K6n23DnmmUFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFCgEQEDxY3oOa8CCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCijQhgIGittwp5llBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQoBEBA8WN6DmvAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoo0IYCBorbcKeZZQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUKARAQPFjeg5rwIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKNCGAgaK23CnmWUFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFCgEQEDxY3oOa8CCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCijQhgIGittwp5llBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQoBEBA8WN6DmvAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoo0IYCBorbcKeZZQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUKARAQPFjeg5rwIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKNCGAgaK23CnmWUFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFCgEQEDxY3oOa8CCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCijQhgIGittwp5llBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQoBEBA8WN6DmvAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoo0IYCBorbcKeZZQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUKARAQPFjeg5rwIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKNCGAgaK23CnmWUFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFCgEQEDxY3oOa8CCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCijQhgIGittwp5llBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQoBEBA8WN6DmvAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoo0IYCBorbcKeZZQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUKARAQPFjeg5rwIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKNCGAgaK23CnmWUFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFCgEQEDxY3oOa8CCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCijQhgIGittwp5llBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQoBEBA8WN6DmvAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoo0IYCBorbcKeZZQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUKARAQPFjeg5rwIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKNCGAgaK23CnmWUFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFCgEQEDxY3oOa8CCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCijQhgIGittwp5llBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQoBEBA8WN6DmvAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoo0IYCBorbcKeZZQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUKARAQPFjeg5rwIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKNCGAsP7M88jRowIzz77bH+uwmUroIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCvxRgBjt2rVre/Tot0AxGdhk1MY9ZsAJFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQWaI0CM9oU6FtVvgWKi1M+sXRt22XliHdlwEgUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUECBRgUWL1la1yJ8RnFdTE6kgAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKdI6AgeLO2ZduiQIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKFCXgIHiupicSAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFOgcAQPFnbMv3RIFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFCgLgEDxXUxOZECCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCijQOQIGijtnX7olCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiigQF0CBorrYnIiBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQoHMEDBR3zr50SxRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQIG6BAwU18XkRAoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooEDnCBgo7px96ZYooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACdQkYKK6LyYkUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUECBzhEwUNw5+9ItUUABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBeoSMFBcF5MTKaCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAp0jYKC4c/alW6KAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgrUJWCguC4mJ1JAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQU6R8BAcefsS7dEAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUqEvAQHFdTE6kgAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKdI6AgeLO2ZduiQIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKFCXgIHiupicSAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFOgcAQPFnbMv3RIFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFCgLgEDxXUxOZECCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCijQOQIGijtnX7olCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiigQF0CBorrYnIiBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQoHMEDBR3zr50SxRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQIG6BAwU18XkRAoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooEDnCBgo7px96ZYooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACdQkYKK6LyYkUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUECBzhEwUNw5+9ItUUABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBeoSMFBcF5MTKaCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAp0jYKC4c/alW6KAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgrUJWCguC4mJ1JAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQU6R8BAcefsS7dEAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUqEvAQHFdTE6kgAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKdI6AgeLO2ZduiQIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKFCXgIHiupicSAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFOgcAQPFnbMv3RIFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFCgLgEDxXUxOZECCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCijQOQIGijtnX7olCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiigQF0CBorrYnIiBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQoHMEDBR3zr50SxRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQIG6BAwU18XkRAoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooEDnCBgo7px96ZYooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACdQkYKK6LyYkUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUECBzhEwUNw5+9ItUUABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBeoSMFBcF5MTKaCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAp0jYKC4c/alW6KAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKKCAAgrUJWCguC4mJ1JAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQU6R8BAcefsS7dEAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUqEvAQHFdTE6kgAIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKdI6AgeLO2ZduiQIKKKCAAgoooIACCiiggAIKKKCAAgoooIACCiiggAIKKFCXgIHiupicSAEFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFOgcAQPFnbMv3RIFFFBAAQUUUEABBRRQQAEFFFBAAQUUUEABBRRQQAEFFFCgLoHhdU3lRAoooIACCiiggAIdJfDqq68G/oYPH9ji4COPPBKee+65iuWECRPC5ptvXnnvwMALPProo+HZZ5+trHjHHXcMm222WeW9AwoooIACCiiggAIKKKCAAgoo0HkCa9euLeqFhg0b1nkb5xbVLTCwNYN1Z2twTXjjjTeGp59+uipThxxySNh2222rxuVvLrvssqIClvEbb7xxmDlzZj6J7xVQQAEFFFBAgQEReOmll8I999wTnnzyyfDCCy+EV155pVgvFwOUU8aMGRP233//MHr06H7Nz9133x3WrFlTWQeB6sEcKCaYfvXVV1fyy8CRRx4ZRo0aVTWund/ceeedge9HTHwfDBRHDV8VUGCwClx11VXhxRdfrGRv0qRJYc8996y8zwfmzp0bFi1aVBnNce6oo46qvM8HqAOgLiCmLbbYIkyfPj2+7fPrLbfcUnXDFHkeP358n5fX6IxD4TzXqJHzt7dAWZ1ePVu06667Bv5MfRNYsGBBWLp0aWXm7bffPuyzzz6V95024LG00/ao26NA5wpw8z7H6NWrV4eXX345rF+/vthY6mY23XTTQJl66tSpnQvglpUKGCguZakeuWrVqqoKTT69+eabw+mnn149YfaOH1tMaYVoHOerAgoooIACCigwEAIEZx988MHKBUC6Ti4KKKfwt3z58rDTTjuFww47LJ1kSA/jQ1kwTdxx20mB4nTbHFZAAQXaRYDjMzc+xUQQuLtA8cKFC6uu65mX4/mIESPiIqpeqURLl0/FWTPSE088UXVzDj06tDJQ7HmuGXvVZQxmgbI6vXry+/vf/95AcT1QNabh5tS0DL3hhhvWmLIzRnss7Yz96FYo0MkCHJOJaaUxq3R7161bF5555pkwe/bswA2Whx9+eNhmm23SSRzuYAEDxX3cubS6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AggggAACCCCQIUCgOIOEEQgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggED9FiBQXL8/X/YOAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQyBAgUJxBwggEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEECgfgsQKK7fny97hwACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCGQIECjOIGEEAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggUL8FCBTX78+XvUMAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQyBAgUZ5AwAgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEKjfAgSK6/fny94hgAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACGQIEijNIGIEAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgjUbwECxfX782XvEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgQwBAsUZJIxAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEE6rcAgeL6/fmydwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggECGQMOMMYxIE7jwn3umvecNAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgjUX4FrD3mx/u5csGcEigOMXINlVpZrMtMQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQKAOC1RYRR3e+sI3nUBxnmYr2xcjTxZmQwABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBOihAH8V18ENjkxFAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIFSBAgUl6LHsggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEAdFCBQXAc/NDYZAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQKEWAQHEpeiyLAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII1EEBAsV18ENjkxFAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIFSBAgUl6LH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CBAgQIAAAQIECBAoCQgUl0Bs1lPg1C9fnmI42ggUF5f3ntT3+UqL51snQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg8FwUECjuptX25l47dat7DDcdc1Hmy7ChQ9K5px2ZDt5vbL4r+6xbvTtVroeNvbnuPdA4TIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBConYBAce2atG8Vmj99QvrSWcdmJ00dP6pvJz+HUr/7ZfPSQxu3pLEjR6SDJo5JL3/BlDRh9D7PoRoMXFHPPe2ItPmp3fMzj9nHI2DgZOVEgAABAgQIECBAgAABAgQIECBAgAABAgQIEHjuCAzZum37rsEo7to1a7Js58yeNRjZy5MAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIESgL3r3wg2zNt+vTSkc6bQztv2iJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBugsIFNe9hdWPAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECJQGB4hKITQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNRdQKC47i2sfgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgJCBSXQGwSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg7gICxXVvYfUjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBASUCguARikwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAnUXECiuewurHwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBEoCAsUlEJsECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCou4BAcd1bWP0IECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQEhAoLoHYJECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQN0FBIrr3sLqR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgZKAQHEJxCYBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTqLiBQXPcWVj8CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiUBASKSyA2CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUHcBgeK6t7D6ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoCQgUFwCsUmAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG6CwgU172F1Y8AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIlAYHiEohNAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI1F1AoLjuLax+BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKAkIFJdAbBIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKDuAgLFdW9h9SNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJQKC4BGKTAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECdRcQKK57C6sfAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIESgICxSUQmwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEKi7gEBx3VtY/QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFASECgugdgkQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBA3QUEiuvewupHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBkoBAcQnEJgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBOouIFBc9xZWPwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECJQEBIpLIDYJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQdwGB4rq3sPoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgJCBQXAKxSYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgboLCBTXvYXVjwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAiUBgeISiE0CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjUXUCguO4trH4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoCQgUl0BsEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoO4CAsV1b2H1I0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQElAoLgEYpMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJ1FxAornsLqx8BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRKAgLFJRCbBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQqLuAQHHdW1j9CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUBIQKC6B2CRAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEDdBQSK697C6keAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGSgEBxCcQmAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE6i4gUFz3FlY/AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIlAQEiksgNgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFB3gUELFA8ZMiSz27VrV90N1Y8AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJtF8hjs3mstrsCDVqgePjwYdl1t+/Y0d31HSNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBARDIY7N5rLa7LActUDxy5Kjsulu2bOnu+o4RIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwAAI5LHZPFbbXZaDFigePXp0dt3HH9+Utm3f3l0ZHCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBFgQiJhux2VjyWG132Q1aoHj4iBFp3333za69du06weLuWsExAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI9FMggsQRk40lYrQRq+1pGbJ12/ZdPSVq5fj6devSM888k2UxYcL4NHbs2LTPiBGpNxMot3Jd5xIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCuArt27UoxJ3EMN533JB46dGiaeuCBvaryoAeKoxRPbNqUNm/e3KsCSUSAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECfROInsTjxo/v9Ul7JFAcpdm5Y0faunVr2rbtqbRz59MpItwWAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEOi7QIzgPHz4sDRy5KhsTuLeDDddvMoeCxQXL2qdAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBNonMLR9l3ZlAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGiHgEBxO9RdkwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAm0UEChuI75LEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoB0CAsXtUHdNAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQItFFAoLiN+C5NgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBdggIFLdD3TUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQRgGB4jbiuzQBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTaISBQ3A511yRAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEAbBQSK24jv0gQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGiHgEBxO9RdkwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAm0UEChuI75LEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoB0C/w8ysfzfG7+QoAAAAABJRU5ErkJggg=="
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "提交kaggle，分数为0.4469,排名约631\n",
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
